{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "fitted-eating",
   "metadata": {},
   "source": [
    "# 作业一"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "toxic-northwest",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "urban-mandate",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.2, 1.5, 1.8],\n",
       "       [1.3, 1.4, 1.9],\n",
       "       [1.1, 1.6, 1.7]])"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = np.array([[1.2, 1.5, 1.8],\n",
    "             [1.3, 1.4, 1.9],\n",
    "             [1.1, 1.6, 1.7]])\n",
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "decimal-teddy",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 5, 10,  9])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y = np.array([5, 10, 9])\n",
    "y"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "clear-produce",
   "metadata": {},
   "source": [
    "## 使用循环的方式计算每天的采购总金额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "realistic-imperial",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[37.2, 37.599999999999994, 36.8]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum = [0,0,0]\n",
    "for i in range(3):\n",
    "    for e in range(3):\n",
    "        sum[i] = sum[i] + X[i][e]*y[e]\n",
    "sum"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "developmental-filename",
   "metadata": {},
   "source": [
    "## 使用矩阵点乘np.dot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "white-atlas",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([37.2, 37.6, 36.8])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum2 = np.dot(X,y)\n",
    "sum2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "breeding-kenya",
   "metadata": {},
   "source": [
    "## 测试两种方式的性能，应该就是用魔法命令算执行时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "intense-danish",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7.24 µs ± 67.3 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%%timeit \n",
    "sum = [0,0,0]\n",
    "for i in range(3):\n",
    "    for e in range(3):\n",
    "        sum[i] = sum[i] + X[i][e]*y[e]\n",
    "sum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "unable-alabama",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.25 µs ± 2.29 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%%timeit\n",
    "sum2 = np.dot(X,y)\n",
    "sum2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "realistic-pledge",
   "metadata": {},
   "source": [
    "# 作业二"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "attractive-carol",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6, 9, 6, 1, 1, 2, 8, 7, 3, 5, 6, 3, 5, 3, 5, 8, 8, 2, 8, 1, 7, 8,\n",
       "       7, 2, 1, 2, 9, 9, 4, 9])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.seed(1)\n",
    "X = np.random.randint(1, 10, size=30)\n",
    "X"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "logical-effectiveness",
   "metadata": {},
   "source": [
    "## 将X处理为一个3列的矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "compact-wrapping",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9, 6],\n",
       "       [1, 1, 2],\n",
       "       [8, 7, 3],\n",
       "       [5, 6, 3],\n",
       "       [5, 3, 5],\n",
       "       [8, 8, 2],\n",
       "       [8, 1, 7],\n",
       "       [8, 7, 2],\n",
       "       [1, 2, 9],\n",
       "       [9, 4, 9]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = X.reshape(-1,3)\n",
    "X"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "constitutional-appendix",
   "metadata": {},
   "source": [
    "### 将第三列中，小于等于3的修改为0、大于3且小于等于6的修改为1、大于6的修改为2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ordered-bruce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10, 3)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "associate-ethernet",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9, 1],\n",
       "       [1, 1, 0],\n",
       "       [8, 7, 0],\n",
       "       [5, 6, 0],\n",
       "       [5, 3, 1],\n",
       "       [8, 8, 0],\n",
       "       [8, 1, 2],\n",
       "       [8, 7, 0],\n",
       "       [1, 2, 2],\n",
       "       [9, 4, 2]])"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    if X[i, 2] <=3:\n",
    "        X[i,2] = 0\n",
    "    elif 3 < X[i, 2] <=6:\n",
    "        X[i,2] = 1\n",
    "    else:\n",
    "        X[i,2] = 2\n",
    "X"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "preceding-preliminary",
   "metadata": {},
   "source": [
    "### 前两列是特征，第三列是分类标记，分别存放在两个变量中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "weighted-certification",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9],\n",
       "       [1, 1],\n",
       "       [8, 7],\n",
       "       [5, 6],\n",
       "       [5, 3],\n",
       "       [8, 8],\n",
       "       [8, 1],\n",
       "       [8, 7],\n",
       "       [1, 2],\n",
       "       [9, 4]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train = X[:,:2]\n",
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "systematic-hungarian",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 0, 0, 1, 0, 2, 0, 2, 2])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train = X[:,2]\n",
    "y_train"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "illegal-means",
   "metadata": {},
   "source": [
    "### 用numpy的比较运算，通过y_train中的数据，分离出X_train中的3个分类"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "divided-macro",
   "metadata": {},
   "source": [
    "### 分类为0的样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "dramatic-glossary",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 1],\n",
       "       [8, 7],\n",
       "       [5, 6],\n",
       "       [8, 8],\n",
       "       [8, 7]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train[y_train==0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "searching-arrest",
   "metadata": {},
   "source": [
    "### 分类为1的样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "sudden-postage",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[6, 9],\n",
       "       [5, 3]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train[y_train==1]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "pressing-scanner",
   "metadata": {},
   "source": [
    "### 分类为2的样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "creative-formula",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[8, 1],\n",
       "       [1, 2],\n",
       "       [9, 4]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train[y_train==2]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "antique-component",
   "metadata": {},
   "source": [
    "# 作业三 服务器日志数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "economic-conservation",
   "metadata": {},
   "source": [
    "### 1.将数据导入pandas中，加上列名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "returning-niagara",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "legitimate-williams",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./Desktop/log.txt',header=None,sep='\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "recovered-cursor",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns=['id','api','count','res_time_sum','res_time_min','res_time_max','res_time_avg','interval','created_at']\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "imported-bloom",
   "metadata": {},
   "source": [
    "### 2.检查是否有重复值              3.检查是否有异常值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "logical-bruce",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>153843</th>\n",
       "      <td>11466400</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1603.03</td>\n",
       "      <td>81.63</td>\n",
       "      <td>539.04</td>\n",
       "      <td>178.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 21:50:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88713</th>\n",
       "      <td>6748463</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1321.85</td>\n",
       "      <td>75.93</td>\n",
       "      <td>392.42</td>\n",
       "      <td>165.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-02-12 18:26:08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>173406</th>\n",
       "      <td>12963962</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>287.30</td>\n",
       "      <td>77.78</td>\n",
       "      <td>121.28</td>\n",
       "      <td>95.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-24 01:32:14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26286</th>\n",
       "      <td>2512270</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>4</td>\n",
       "      <td>587.17</td>\n",
       "      <td>96.66</td>\n",
       "      <td>184.09</td>\n",
       "      <td>146.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-12-01 17:16:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>114637</th>\n",
       "      <td>8482643</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>7</td>\n",
       "      <td>1249.51</td>\n",
       "      <td>73.80</td>\n",
       "      <td>482.81</td>\n",
       "      <td>178.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-03-17 23:06:02</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id                     api  count  res_time_sum  res_time_min  \\\n",
       "153843  11466400  /front-api/bill/create      9       1603.03         81.63   \n",
       "88713    6748463  /front-api/bill/create      8       1321.85         75.93   \n",
       "173406  12963962  /front-api/bill/create      3        287.30         77.78   \n",
       "26286    2512270  /front-api/bill/create      4        587.17         96.66   \n",
       "114637   8482643  /front-api/bill/create      7       1249.51         73.80   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "153843        539.04         178.0        60  2019-05-01 21:50:49  \n",
       "88713         392.42         165.0        60  2019-02-12 18:26:08  \n",
       "173406        121.28          95.0        60  2019-05-24 01:32:14  \n",
       "26286         184.09         146.0        60  2018-12-01 17:16:09  \n",
       "114637        482.81         178.0        60  2019-03-17 23:06:02  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5)   #随机采样，多次执行，每次结果都不一样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "blank-reaction",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "happy-latex",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "created_at       object\n",
       "dtype: object"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "biblical-surgeon",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   api           179496 non-null  object \n",
      " 2   count         179496 non-null  int64  \n",
      " 3   res_time_sum  179496 non-null  float64\n",
      " 4   res_time_min  179496 non-null  float64\n",
      " 5   res_time_max  179496 non-null  float64\n",
      " 6   res_time_avg  179496 non-null  float64\n",
      " 7   interval      179496 non-null  int64  \n",
      " 8   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "mineral-acquisition",
   "metadata": {},
   "source": [
    "### 4.分析api和interval这两列的数据是否对分析有作用，如果无用，说明为什么后将这两列丢弃"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "rental-neighborhood",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "ready-parking",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['/front-api/bill/create'], dtype=object)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.api.unique()   #发现api只有一种，说明是重复的，对分析无用，还占内存，可以删掉"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "removable-still",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    179496.0\n",
       "mean         60.0\n",
       "std           0.0\n",
       "min          60.0\n",
       "25%          60.0\n",
       "50%          60.0\n",
       "75%          60.0\n",
       "max          60.0\n",
       "Name: interval, dtype: float64"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['interval'].describe()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "opposite-extension",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.unique()   #发现interval全都是60，也是重复值，对分析无用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "involved-resort",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "0      8       1057.31         88.75        177.72         132.0   \n",
       "1      5        749.12        103.79        240.38         149.0   \n",
       "2      5        845.84        136.31        225.73         169.0   \n",
       "3      9       1305.52         90.12        196.61         145.0   \n",
       "4      3        568.89        138.45        232.02         189.0   \n",
       "\n",
       "            created_at  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=df.drop(['api','interval','id'],axis=1)    #删掉api,interval,id这三列\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "severe-logging",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 6 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   count         179496 non-null  int64  \n",
      " 1   res_time_sum  179496 non-null  float64\n",
      " 2   res_time_min  179496 non-null  float64\n",
      " 3   res_time_max  179496 non-null  float64\n",
      " 4   res_time_avg  179496 non-null  float64\n",
      " 5   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(1), object(1)\n",
      "memory usage: 8.2+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "interior-seeker",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-01-22 20:34:35\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe()  \n",
    "#发现时间这一字符串全都不重复，可以更改成时间序列类型，变成时间索引"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fifth-feeling",
   "metadata": {},
   "source": [
    "### 5.使用created_at这一列的数据作为时间索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "affiliated-fraud",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "working-vampire",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = pd.to_datetime(df.created_at)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "transsexual-steal",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='created_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "equipped-tourist",
   "metadata": {},
   "source": [
    "### 6.分析api调用次数情况，例如，在一天中，哪些时间是访问高峰，哪些时间段访问比较少。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "fallen-montgomery",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist()    #初步分析count，直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "surprising-korea",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist(bins=30)     #美化，图像更平滑。api调用次数大部分在10次以内。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "alpha-threat",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-53-506f7de5c0fc>:1: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  df['2019-3-1']['count'].plot()    #切出2019-1-1这一天，看一下一天时段的api调用情况。\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEHCAYAAACgHI2PAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA7vElEQVR4nO2debgcZZX/P+femz2BbBcIJCEsYQlIAmTYdxBCAiKCyKKCghHFQWec8YcsIuiMDCqbIEyACCKgg7ITlggoCXsSkpANsu/7vucu5/dHVd9b3V3dXdXd1V3d93ye5z63q+qtqtPd1d86dd73PUdUFcMwDKN6qSm3AYZhGEa0mNAbhmFUOSb0hmEYVY4JvWEYRpVjQm8YhlHlmNAbhmFUOXXlNsCP3r1764ABA8pthmEYRsUwceLENapa77ctlkI/YMAAJkyYUG4zDMMwKgYRWZhpm4VuDMMwqhwTesMwjCrHhN4wDKPKMaE3DMOockzoDcMwqhwTesMwjCrHhN4wDANobGrmx/83hXmrt5TblKJjQm8YhgFMWbKRv01awo+fmVJuU4qOCb1hGAYA1VuEyYTeMAyjyjGhNwzDqHJM6A3DMDxIuQ2IgJxCLyL9RORtEZkhItNF5Ifu+p4iMlZEZrv/e2TY/0q3zWwRubLYb8AwDMPIThCPvhH4saoOAo4DrhORQcANwJuqOhB4011OQkR6ArcCxwLHALdmuiEYhmGUE63evtjcQq+qy1V1kvt6MzAT2Ae4AHjcbfY48GWf3c8BxqrqOlVdD4wFhhXBbsMwDCMgoWL0IjIAOBL4ENhTVZe7m1YAe/rssg+w2LO8xF1nGIZRMv7w7nyuf/oTdjY2MfzecXw4b225TSopgYVeRLoCfwN+pKqbvNtUVSlwEKqIjBSRCSIyYfXq1YUcyjAMI4nbXprBi1OWMW/1VmYs38StL07P2Fak+rpjAwm9iLTDEfknVfVZd/VKEenjbu8DrPLZdSnQz7Pc112XhqqOUtWhqjq0vt63GpZhGEZBNFdzID4LQUbdCPAoMFNV7/JsehFIjKK5EnjBZ/fXgbNFpIfbCXu2u84wDKPkJHTez2uv5ltAEI/+ROAbwBkiMtn9Gw7cAXxRRGYDZ7nLiMhQEXkEQFXXAb8APnb/bnfXGYZhlI2a6ovOZCVncXBVHU/mOQRn+rSfAFzjWR4NjM7XQMMwjGKRCN1UYRg+KzYz1jCMNkNL6CbL/NdqvAeY0BuG0WZIxOHbWujGhN4wjDZDc2tvbHkNKTEm9IZhRMIj4+Yx+LY3SnKuxqZmDrrpVf7y8aKs7VpDN20LE3rDMCLhl6/MZOP2hpKca+uuJnY1NfPLl2fmaOkovV/oppqH2JvQG4ZRPeRw1ZuzjKNvOUQVuvsm9IZhVD4BvXEL3RiGYVQo6ip9LgFXTYRu2pbUm9AbhlHxZEtt4CURumlrLr0JvWEYVUMuRz2b569V3BtrQm8YRsUTWKLdhtlCN9lmzVYqJvSGYVQNuSS6uW3OlzKhNwyj8tGWZGXZFbwldONpNmPZJgbc8AofL6jexLo5s1eKyGjgPGCVqh7urvsLcLDbpDuwQVWH+Oy7ANgMNAGNqjq0KFYbhmF4CNrHqj6hm3fnrAHg9ekri29YTMgp9MBjwP3AHxMrVPVridci8ltgY5b9T1fVNfkaaBiGkYug/ah+FaYSmq9VXHokSD76d9yi4Gm41acuAc4osl2GYRihyT3qJtEuvWFzc2JjUU2KBYXG6E8GVqrq7AzbFXhDRCaKyMgCz2UYhuGLBgzetE6Yal1XjcXAUwkSusnGZcDTWbafpKpLRWQPYKyIzFLVd/waujeCkQD9+/cv0CzDMNoUAUfTJLx2b4w+8ap6AzcFePQiUgd8BfhLpjaqutT9vwp4DjgmS9tRqjpUVYfW19fna5ZhGG2QoCLt5/e3xOhtwpQvZwGzVHWJ30YR6SIi3RKvgbOBaQWczzAMw5egycqCDsOsNnIKvYg8DbwPHCwiS0TkanfTpaSEbURkbxEZ4y7uCYwXkSnAR8Arqvpa8Uw3DMOArTsbM46YaWpWtu9qallOTJhqVmVHg7O+JXRTvQ59oFE3l2VYf5XPumXAcPf1PGBwgfYZhmFkZMGarZz2m3/wg9MPBNJj9P/2l8m8OGWZZ42j5m/NWsUht7zGgjtGtHj3iaGX1ejr28xYwzAqlnlrtgDwxowVQHqemmSR9/fa20IUx4TeMIxIibKTMyHsQXPYNPsJfcu26o3dmNAbhlG5uCodVKR9Y/nu3aF6Zd6E3jCMCia1IzVorpu2hgm9YRiRUgpxbQ44bNI31437XwOGfyoRE3rDMCqW1BEz+R3D+W8TpgzDMGJMUI32HXWDxegNw6gitu5sZNXmHSU9ZzEFtLlZWbxuG7sam5m2dCNbdzY65wg86ibdmnVbdyYdI8HiddtYvXknW3c2snrzzqRti9Zuq6gngEKTmhmGUUFc8MC7zFm1hQV3jCi3KXlx75uzuffN2Qzu150pize0rG+N0Wff32945W/e+BxIH5Fz8p1vM6BXZ0SE+Wu2tnxmny7ZyPn3j+fW8wfxrRP3y//NlBDz6A2jDTFn1ZaSn7OYnu/789YCJIk8eGe1hu+MTdA6cqf1GAvWbmP+mq1J7eavdZYnLFwfyOY4YEJvGEbF4+ep+5HtphP2flRJg3NM6A3DqBgyiasWELoJSyXF5hOY0BuGESmlkMWgAp49dFN5Ah4UE3rDMCqeoJkns90Qqlfmg+WjHy0iq0Rkmmfdz0VkqYhMdv+GZ9h3mIh8JiJzROSGYhpuGIaRoLk52MzYosboK2gKbRCP/jFgmM/6u1V1iPs3JnWjiNQCDwDnAoOAy0RkUCHGGoZReRQzIpJJW4OVBm+9Ifgfo3p9+pxC7xbzXpfHsY8B5qjqPFXdBfwZuCCP4xiGkYGpSza0VErKxFuzVvLZis0lsqg8bN7RGKhdqs5v2tGQtm1XUzOTFmUeOhk0gVqcKCRG/wMRmeqGdnr4bN8HWOxZXuKu80VERorIBBGZsHr16gLMMoy2wYqNO/jS/e9y43OfZmwzbvZqvv3YBM655x12Nma/IVQDuW56qZ2xlz/8QVqbiQvX85Xfv5fzXBUUuclb6B8EDgCGAMuB3xZqiKqOUtWhqjq0vr6+0MMZRtWT8EY/XbIxY5sl67e3vG4qxtjCPChlSGRXU3PW7alhpGlLN2XclvEYFRjiyUvoVXWlqjapajPwME6YJpWlQD/Pcl93nWEYRSAh3DVZXMtqGzGYa+ZrQ1P2N5w9y2WVfVge8hJ6EenjWbwQmObT7GNgoIjsJyLtgUuBF/M5n2EY6SREq6Ymi9B7xCuXSFYDDTk8+qzDK6tX53MnNRORp4HTgN4isgS4FThNRIbg3AIXAN912+4NPKKqw1W1UUR+ALwO1AKjVXV6FG/CMNoiCWHKovOxEK9S2pBb6DMbEzanfSXdNnMKvape5rP60QxtlwHDPctjgLShl4ZhFE6g0E2pjIkJuUI3WcfRBzxHHG6eYbGZsYZRoTQFCN14VakSOxGLTQ6HPxTVNmHKMIwYkvBOa7PpfFL7aO0pBYVqa9bQTcBRSZX4OZrQG0YF8O6cNazdklzlKOGdTlq0IePQSa8o+bXY0dDEG9NXtCzPXL6J2Ss388mi9Sxet81zHGXMp8uLNkRz1aYdfODmlgd4bdqKpHH+c1ZtZsayTUn7bNrRwHtz11IIr3veayq53tn/vDaL6cs28u6cNUBrjD7xGTY3O59R0BtGKTGhN4yYo6pc8ciHXP7wh0nrvd7p4+8tyLiv3+sEt700nZFPTGTqkg0AnHvvOL549ztc+Pv3OPnOt1vavTx1Od9/chKj3pmXh/3p60b8bjyXjnImK70/dy3X/mkid772Wcv2s+56h+H3jUva57onJ+U819H7+s3dbGVWthnCOfT5wX/MZcR943n2k+RR4r94eQYjn5jIDc9O5ftPTuKpjxbltLPUmNAbRsxJCOVnK5NFyiv0KzPUgdUMrxMsXOt47Zu2Z08hsGHbLgCWbtiWtV1QvDVYW47tmdzlx9wA1bGO6Lt73jbl64cvcp98EtW7VqXUl40DJvSGEXMy1UNt9nYsZlCppNCNT5ugMe9Eh2+5ZteWAstHbxhG2cgkP0HGfRdLuupcoW/MMXzR34bSCWghWh1618oZdGNCbxhxJ1O2xEBCn6s3tmVT9mPV1jhS0VRGrzfqMxfrrcVR/03oDSPmZBLhIMKUrPPpOyTSIuQ6Vl0MQjdR32PCPnlUUkoJE3rDiDmZBC6I6HrFK1uMPteRahOhmzyEvlgCHUUIyNtHEb7CVH77lQMTesOIOS2hm5Se02ChG8/rAmxICH1THjH6UhK2Q9X7icb7nRWGCb1hxIQH3p7DI+Nax6lPWLCOCQvWtXiy6TF6/+OoKk+8v4CtOxuTKkvNW906PPGpDxexcVtD0n7rt+7KaFtC6LfuauTx9xbQ3KyoKn/6YCGbdzRk3C8Mny5tnYyU4A/vzm9JVBZEwx9/fyHXPTWJR8fP55+f5y5g5P0Mq3nUTc6kZoZhlIZfv+5MGLrm5P0BuPih9wGYfts5vu29oRuvRI2bvYZbXpjO9GWbkib3JI4HcONzn/LPz1e17q/K9X/+JKNticRp42avYdzsNezRrQM9urTn5uenMXHheu7+2pCM+waVz6UbtnPFIx+y4I4RLetue2kGOxubufbUAwIf55Wpy3ll6vKArT12Vq/O5/bo3VKBq0Rkmmfdr0VklltK8DkR6Z5h3wUi8qmITBaRCUW02zDaDJn0p7HZP0PXtl1OKoF1WTx0gLVbdiWFg1Zu8p90Bene7rZdTWxvCHaeQtm0vcG1IdLTFC1NcRxznQUJ3TwGDEtZNxY4XFWPAD4Hfppl/9NVdYiqDs3PRMNo2yRENlVAdjUWMRUj2YU0NUwURswKDYn4P7cUn3yPXglZQXMKvaq+A6xLWfeGqibmTH+AUybQMIwISIhs6nC+fEbAZELJ7tGmirUIJeu9LFVIJd9RN63LMXTlXYrRGftt4NUM2xR4Q0QmisjIIpzLMNoeGQQoVzWlILRIk4b06D03nVLpW9xj6HHuzC2oM1ZEbgIagSczNDlJVZeKyB7AWBGZ5T4h+B1rJDASoH///oWYZRgVR/bKR/7bvNWU8hEZJVmkw5TZCxW6CWlX+v5alOMUmzYxYUpErgLOA67QDFeZqi51/68CngOOyXQ8VR2lqkNVdWh9fX2+ZhlG1dHy60rRlcYcHn0YYVQ0a+HsdKFvNSZyR1YT54mb1DtkmucQJ/ISehEZBvwE+JKq+uYtFZEuItIt8Ro4G5jm19Yw2jrZwyb+4+i9oZt8Rca7VyiP3s8gA4inpx9keOXTwPvAwSKyRESuBu4HuuGEYyaLyENu271FJFEMfE9gvIhMAT4CXlHV1yJ5F4YRY1SVB96ew9INrfnWX5i8lA/dCkvvzV3DS1OXJbX3MnnxBt/jpoZuxs9ew5hPl7eEVcbOWBnSzszbUkdyhumMfTiPYiVeFJi7egvrtxVnYlZbJGeMXlUv81n9aIa2y4Dh7ut5wOCCrDOMKmDRum38+vXPeGXqcsb88GQAfvjnyQAsuGNEWuUo1eQY+NWP+09BSfWyv/6oc5z//cbRoW1UzR4aSffog3fG/u6tOYw8ZX+6dWwX2i7HNuWiB9/La98oiXGkJg1LgWAYEZPQyK27sldxShB24k42enZpn3GbqiaFfLLF6FNNKrXIbdkR7LMrJ3HtQwATesOInET6gKACnqlVlOKqmkeMPgSFdFTGVT9Ts1dWXWesYRjBSfz+M2QsSCOT4KZ28gURwFzSk9iuZA+5pxYcEQk3IzSbHbmOElOdp5J6o03oDSNiEvVWgz7aB/Vgc+WaD0LSOPossZv0FAjhRC5Tc1UtaqgqDsTRsTehN4yIqUl49EEFvMjtghIqBQLhhhFmOrQTMspvXyM4JvSGETGJGH3QeqsZQzcpuhrkaNm8S+/+jmedxabm1NBNOLc1m625nnQqIWlY3DGhN4wSETR0E7jTtij6553hGiJ0QzgBznTsXMnU4kxrGcb422+FRwwjAjbvaODnL86ga4dajtu/FwBrtuxiwoJ1vDN7TdZ9M1eOSln2CMwj4+f7tluzJViuePU5PsCTHy7kpuempQ3T9Dr0QXz7N6av5KKj/ZPcpmZyGPXO3GTbYqqjT324iMXrtvHBPCe5b5yHV5rQG0YEPDp+Pn+btARwytsl8FZ5ykgGvUgU+mhpVoIY/U3POVlLUouL1IiE8mR//MwUX6H364z97zGzAh+33IzLcdOOCxa6MYwIKCTfSfDQTeFK7x0LHupoRRxZEmdPuFowoTeMmFF4jD6f8e3hhjkWS+eV9NBNWpsKuxHEcHSlCb1hREEhY6kDD8MscH9IHUcffL+aIg4Wz3WDqRSZj7OdJvSGETOCxr4z6WO+o1hCefRF0vlcqRcqiTi/jUBCLyKjRWSViEzzrOspImNFZLb7v0eGfa9028wWkSuLZbhhxJlCdDCfmbFe8iklGzZGX6yc64pmnZEL8RZQL3E2M6hH/xgwLGXdDcCbqjoQeNNdTkJEegK3AsfiVJe6NdMNwTAMh0Jj9GFSLXgFO4xnXcyx4005DlUJ49SBWN+RAgm9W+d1XcrqC4DH3dePA1/22fUcYKyqrlPV9cBY0m8YhlF1FBLaKFQv8g2FhNnNyV+f12l8jpP7QPGV0FbibGMh4+j3VNXl7usVOBWlUtkHWOxZXuKui4S73vgMgH8/++CoTmEYkdPUrHz9kQ9ztsskkK9+uiLQebyVq8KKlALPT3aqYhWSnveQW3IXndu2q4mmfOJRJSZxg/3t2M+Ztmwjb89azc3nHUrvrh14/pOljPrm0LR9vv3Yx1wytC/DDu8TqW1FmTClqioiBX0TIjISGAnQv3//vI5x31tzABN6o/wUIn47GpoYPyf3RJxMP7g3QpYQhPDeuary0pRluRsWgcmLNpTkPIXi/Qxfn+58Bz97YXrWfd6atYq3Zq1iwR0jojStoFE3K0WkD4D7f5VPm6VAP89yX3ddGqo6SlWHqurQ+vr6AswyjMqm2Fkuoybqce6VMionzmYWIvQvAolRNFcCL/i0eR04W0R6uJ2wZ7vrDMPIQNAwRTE7KcMeq5SaFmP9TCLOdgYdXvk08D5wsIgsEZGrgTuAL4rIbOAsdxkRGSoijwCo6jrgF8DH7t/t7jrDMDLQGHDmUjE9yNDHKqGqVY5HH187A8XoVfWyDJvO9Gk7AbjGszwaGJ2XdYZRoRQy6qYxsEdfPMLrfOseUddKDTNj1/DHZsYaRswIHLopqkcfMnQTX+e1bMT5ycOE3jAioJCZo425ZhC1UMQYfehRN0U7dU7iLKBecpmZejMtZajHhN4wYkZZPPoYd8ZWjNDn2p5aOKaEb8uE3jAioJCw9dcfzT5Z6vKHP+BnL0wrqlD821+mhGrv9UajTstbITqf00NvVuUXL89gwA2v8MG8tSWyysGE3jAqhHMP3wuA9+au5Y/vL4w8B0zHdpnlwfvQEbUOF3tS7G4doymsl9Ojx6k8BvDwO/NK+lRUVUJ/6kH1DO67e7nNMIxIvNz2dck/16g93V5dOmTc1pCrWkgRKXYs+/B9dufofSPIrZjDzNQQlMXo80Qk3pMWDKOYlPNa39XYKvThR+yUtz8gqtGgOQuoeDaXWquqS+ipnHieUd1EPLQcKO+1vsvj0Yc1I2yCsmJ3xgoSiTdtnbElQkJWpjeMSibqaz3bzSrZow933KaQO+QqTBKWqG7COYdXJn1fpdWq6hJ6zKM34kGxKjB5Sbu2I77Wgwp9WI877EzXKN5mNMfMNeqm9bWIefR5U4rHZcMoFyXW+aw3q10FdMaG9eiLLYhRpWwIO2GqlFSV0IN59EY8KIXTUcqRL6kU4tGHjdEXu+hIVF9Nro8hyaOPyIZMRDOgtGwICsxZtZmz7nqHP488juP271VuowwjIwNueCVw25emLEsq9vHy1OVZWhfOonXbMm67983ZLa+D6vxFD77HxIXrQ9tRbKHv37Mzny7dWNRjAizdsD3r9sG3vdHy+o0ZKwNV1yoWeXv0InKwiEz2/G0SkR+ltDlNRDZ62vysYIuz2uQ8Hr07x5l19krEPwTDMIJ79PmIPAQL9Vx/xoGBj3fTiEPzsuPn5w/Ka784kLfQq+pnqjpEVYcARwPbgOd8mo5LtFPV2/M9XxASj0OJWJjF7I1y0ZZCiFG/1yAe/blfCFZz9ZC9utGxXW3o/o1uHeu46sT96N+zc8g940GxYvRnAnNVdWGRjpcXiZ7sxJdoOm+Ui7Y0zDcONzVz6rJTLKG/FHg6w7bjRWSKiLwqIocV6Xy+SInHphpGJuIgfqWikn5zNQXeESrpvXopWOhFpD3wJeAZn82TgH1VdTDwO+D5LMcZKSITRGTC6tWr87TF9ei15Zh5HccwjODE4aYWdN6CtMZ3ozMmhhTDoz8XmKSqK1M3qOomVd3ivh4DtBOR3n4HUdVRqjpUVYfW19fnZUjiS2xbX6ERR9rSNRiHfPFBfbp8PfpKvz8UQ+gvI0PYRkT2EtetFpFj3PNFmohZsc5YwyglxU4jHCX5akLiLVaq0Bc0jl5EugBfBL7rWXctgKo+BFwMfE9EGoHtwKUa4fSw1GRFuR7ndjU2U1sj1NbYHcEIzs7GJpqalc7t038+OxqanFEdFSoI+bCjoSnQuigJ+gtu8cyjMiRPEtdNVBTk0avqVlXtpaobPeseckUeVb1fVQ9T1cGqepyqvleowVkJmfrzoJtf5ao/fBSZOUZ1cvDNrzHoZ68zb/WWpPVTl2zgkFteY+yMtChmVTNrxWY+XdI6AWny4g0lnQwUhlkrNgNOTvowJPLXD+nfvdgmAXDILa8xefGGSI4NVZYCQQCSOmNz7zNu9pooTTKqmM9Xbk5aTvxQ3/l8dcWOzsiXyYtbJ0NNWLCu5OcXgb//+yk52yVy9Nx6/iBOOCD7rPmvHt2Xv157PC//60k8cPlRAPzm4sE8+/0TCjfYh8mL8ptQFoTqEnpxUiAkfmQWkDGKTdDIY1sK3UDyk3S53vuBe3QL3LZDXS2H7b1b1jY1Igwd0JPD99mdLh2cMF2n9rV8wedpYEi/7qFs9SPKj626hB7nhxjGozeMMHhnabY1MQ9KeUbhhP+xNzRltzOMfsS9m6+6hF5Sl2P+6RsVR9AUu8UulhF3vB9LpbzzxrCJ8bNQDK2J8v5YVUIP7vDKchthVC1ebch2nbW1a9Ab0iqHRx9UZ72mNebp0Vei+1hVQp+oMNUSuimrNUY1Etijb2NxnXLH6PP5recK3ZQai9EHJFEztmXEgym9UWSCxujbmM4nvd9KCVs15Rm68QvTxF1qqkvoSfboV2zcwa7GZlZu2pHWtpxlvYzKZevOxqTl9Vt3MTtlmCW0vetr5vJNTF68gaUbtjNlyYaSnz+fGHlDzG5IS9dnL1xSCNVVYSql4O4Lk5fxwmSnIs+M289JmskYs+/YqBDO/934lteKcuQvxgLwzn+entSurV1ez0xcwjMTl0R6jt5dO7Bmy07fbZ3bh59VelT/HnkVJ4rKex/97nyO3rcHI44Ills/DFXm0TtfgZ831dCYvK7Y5cmMtsHarbt8169IeWosVoy+fV3mn+i9lw5JW3fNSfsB8OUhe+d1vp5d2gNw2sGZEwtmsylfHrziKI4Z0DNrm3/852l88NMzfbftuVvHpOXvn3ZAznN++8QBLa8Tk6fa19Zw0/BEBarckn5zntWqMuGdeFZMqkvoJXkcvZealHfa1jrLjOJTihj9oD6ZJ/X07tqB9rXJF/Y+PToBsHundnmdLzGJqC71B+Ph4D2DT0wKSr+enTlr0B5Z23TtUEfvru0DHW+v3TvmbOMN9+zT3fnc6rt1oHOH7E8H3ijRAXt0TVtXCFENCa8uoXf/+/3GUteZR29ESbEur2y/+/Z1NWlOZ6EyUVeT7VfktqmNSIwCiFxUQug9bJibtLT8j3d3bFUJPWS+PDWlgz3oMDnDyET2cfTRX1/tamuKPiMzSCbXdlm8/UIIIuJRyamfUGccR+/ZUCmTMqtK6FMrTHlJ/eFVyhAwozIphR/RrlaK7kkmvOps9kfh0YsESyNQCl0N89XFPfVBgmKUElwgIp+KyGQRmeCzXUTkPhGZIyJTReSoQs+Z0RZSxtF7SNV1C90YhZJtCGUphle2r60puvAlRDyb9VHUbxCkqKGbsB9/vp9j3EM2CYo1vPJ0Vc2U7/dcYKD7dyzwoPu/6GT16FNWWujGiJJS+BFO6CYajz7XeYtNUI++FIQxQ1qD9LGmFKGbC4A/qsMHQHcRKf5AUVyhB1b7jLVN/eEVMZ+R0UbYviu5atKitdtaXi9Ys5U5q5xCJO/PW1ua0E1dTdH1JYi3HlVFtnLGu5M6Y8PsV3RLoqEYQq/AGyIyUURG+mzfB1jsWV7irktCREaKyAQRmbB69eo8TRFU8Z+piHn0RmH88M+fJC3/duznLa9/8rep/PH9hQDMWbWFZRuKM8sxm5C0q5G0kMNgNy/6iQf2zut8tS0x+sy/j3aRxejzO25i7H8mBvfNXU3qlIHOvIFhh+/FEW6++VMGBv8M4y74xRD6k1T1KJwQzXUikrvMiw+qOkpVh6rq0Pr6zJM1spG4Tjr51PJMvW6tM9YIywfzgte137orOVXCw98c2vJ6+Bf24sMb/Sf+ZJuolEpNjaR5wUf278G0287h7MP2YtxPkmfr3nfZkTxx9TFpx7n82P6ceGCvlmOm8tIPTkparo1g1I0To89vX79JVN4b1eir/iXj553g3C/04eObzuKm4YcyuF93pt12DsMOzx14SDiM7Wpr0j7vOFHwN6aqS93/q4DngNQraSnQz7Pc110XEerrjaSuss5YIyxhrpnUtl07tDofHdvVps3kTJA6ASpbOKNG0j1677lSi023rxU6+RSg7tSutsWbbvHoPdu7dUx2nNpF0RlbgEefa6Zuh3a1SZ9/Juq7dWi50QVpD62pjmtrhE55pGEoFQUJvYh0EZFuidfA2cC0lGYvAt90R98cB2xU1fAJJoLYQ+be9tSZsBa6McLSGELoU3OdB9XGsFWNsomj36ZMN47Ez6E2MerGY37qLtHF6CM5LLUSbERPPjS4NWijCGcVk0JH3ewJPOdePHXAU6r6mohcC6CqDwFjgOHAHGAb8K0Cz5mRRGes/zj6ZMyjN8IS5ppJrV4kAXv7Qs3KlOyD+9KPlTk8knCEan0EMfUsdVGMuiF/jz4XtTUSWcqTxM2/rqb4HePFpCChV9V5wGCf9Q95XitwXSHnCYogGTuRUmPyJvRGWEJ59M35efRhqJFwI1UyhUdUPULvY2jqLnVRhW6KeP/wfvp1NUJjRKPsEh59VGkhikX1zYwl2PRzE3ojSlKrFwUdvpe6LZt8ZIrR+53Tu4/veTV5u9eONKGPRNSiC6/U1OTf0ZuLRIiuXW1NrNMhVJfQk3nCVOqjm2WvNKKksSlL6CYLYS7Lmhyhm1SETHH7VmH3i8qk2h6FRw8RF8eOSIQTIbqo+i2KRXUJvQgbtzewfGN6Ral/fLaa+Wu2MmvFJsDfo1+0dhvTl22M3E6jspi1YhNzV28Jtc/sVcntvUKTPT1CcLULO1JFMnRKOs5RInRTk2Zj6h6RDK+U9N9kMbUzKme7ocWjj3cyhKoS+gTz12xNW3fri9M5/Tf/YNg94wB/j/6UX7/NiPvGp6032jbD7hnHmb/9Z0HH8IpAEClP5Effr3eXjG1qRLjm5P0C2zBo790yep4JjR3k5qP/6tDWEdGpN4ezD9sz8Dn96OYzdFFIF/prT20tHnLIXsk58L9x3L4MO2yvtOPs37sLB+3ZNf347nv4XoCCJGE4dj+nWMp5R+RX6KVUVFcpwRA0WQoEo4QE9bwT/sdFR/fl3794EHe8OivLMeGak/fn2yfux/43jsnYrleX9ky85YsAzMvwZJIINfXr0YkFd4wA4PqnnZnAqaYf1b9HS5sBN7yS8z11aV/LVjd9xKxfDKNGhINufjWpjYikdWB/99QD+MmwQ9KOlzi3H2/9x2kAjB4/P9R++TJwz24tx92wzak+1rVDHRcf3ZfH3ltQ9PPlS1V59GEezxLeQ8xDa0aZKVanfdDCFolNiesy28CCxM0j13XvPUKmhGQNnk7FtP0L/Ai8E7dEMk9wakoZklqpv804ml1dQh/iI06EbqLqpDGqg3UZasSGJegNIxEbD3It57p0/TZnEtlEp6LfiJpCi6h4w0XZ3lf6kNTK+m3GOUpfXUKfl0cf3y/HKD+rNqd37OeDdwJVkK7YIJeltHj0GYZM+qzL5NEnhgn61Yot1KP3Cn02Lz29M7Zyf5ulqEcQhuoS+hBtW1IgVO61ZJSA1ZvTU17nQ2pKhExEfVn6TdVXtMWbjmIqv1ewsw0zTfXoC9H5sshsjLWkuoQ+xAfdbDF6IwAJoe9SYMIqr4hlrUzl/i+GMxsqdNOUeTx4oaLpfUhoEx59DM2uMqEP/glb6MYIwipX6HvkyHmeizDpEyC6Ihx+hb0FoaE5c2dsoSm9a4N69HkmgosN8YrWJFFVQh+U+96c3ZIvfFtK1SCjbTNrxSbGz3aqYjY0NXPP353iIoWGcLwzZbPG6DN4+8XSfb9884q22BfFrFe/c/qRPuqm0pS+cB4eNy+S41aV0Ae9MO4a+zkfzV/XspxaIs5ouwy7Zxxff/RDAB57d0HLsMOdBWbFSlR+Arjy+AEZ2+3bqzPguZZd3T/94D1Cn3O3Tu2orRFuODd5LHovn6eTG4cfSvvaGnbr1K5l3TH79eTio/tS361DQTeaxOSvJNvcHPeJ/PgCnDc4edJRQTH6gJ2hFx65Dycc0Cv08eu7deAnww7OuN074QygQ10NFwzZm86eEOBNww9N28+vXkAxyHvClIj0A/6Ik6pYgVGqem9Km9OAF4DE7IVnVfX2fM+Zi/YhOpK8nrwzIiK+RQOM8rBxe0Ne+6VOJkqdqHOMO5sywd67d2TZxh28e8MZPO5OskkVuWP268noq/4l6bi5aFdbw9z/Hp62PjF56pFx8/jlKzMBR5hSxen/vnt8y+v5vxqR87wjvtCHA+q7cN9bc5LW79EtvcjK1J+fA8Cpv36bhWu3ocBB7uSjxHlKkSTs7q8NyWu/j286K+M2AQ7fZ3d+eu4h/OrVWYw8ZX9u9Ih64v1968QBfOeU/ZPWTXK/m2JTyMzYRuDHqjrJLT4yUUTGquqMlHbjVPW8As4TmDDV6Xc0eIQ+4IgIo20RNORQKN6rr3UcfeVRWyO+Yam2EoEJO9/A70aWWmGsWOR9VFVdrqqT3NebgZn4FP0uJe1ylBTzsr2h9VG8wfIhGD74FeGIkkT2VSiNOBbbY66r9S/wEeQs1XQvCPq5+rWKyrkoyu1DRAYARwIf+mw+XkSmiMirInJYMc6XiXw9+l0m9EYKzc3qm7I3Crzi3jK8sgKlr65GfCdXtcVOVS9Rd7AHoeCkZiLSFfgb8CNV3ZSyeRKwr6puEZHhwPPAwAzHGQmMBOjfv39etoQZMbDTK/RRlZ8xKpYdjU0lDN20pj0opUdfbOpqa/AbiRlBVuOqoJSFSgotDt4OR+SfVNVnU7er6iZV3eK+HgO0E5HefsdS1VGqOlRVh9bX1+dlT5jk/zuSQjcWozeS2dHQHFmBjVS8Dl+heWXKSbsayWB/Bd618iDTQJ84VJ7KW+jFsf5RYKaq3pWhzV5uO0TkGPd8a/M9Zy7C/DB3NLZ69BajN1LZ0dBU8pCDiDeMU35xCEtdbY2v2FXgWymIOL7fQkI3JwLfAD4VkcnuuhuB/tBSIPxi4Hsi0ghsBy7VCLP9hPPoM8foZyzbxNQlG7j0mP58vGAdf/l4MZcM7cebM1eiwHWnHcjundthVAbbdzXx32NmsnVnIwft1S2poEUmfvXqLF6ftqIE1vnTmqY4eor1i6yr8e+MzfazjEoNYpZTrOzkLfSqOp4cz2Sqej9wf77nCEuYosXbdno8+pQY/fD7nCpUlx7Tn//951z+PnMVf524pGX77p3acd3pBxZorVEqJi5czxMfLKRL+1qe/WQpXz9uX7r6VDny8tKUZUW344pj+yeNKf/eaQewbMN23pvrPOQKztjqf36+mhFH9AGcSkpjZ6zkwiNbB7Td9qXD+GjBuqRjnzywNxcd1bfoNnv55vH70r1z8mSrB684ijtf/wwBvn7cvgD8feYqBJjnVnq76Ki+HNG3O68FvHHeefERgdtm4oIhe/NfY2bylaNKNxBwt07tGNKvOz880+mGvPDIffjzx4v5hvu5JLj/8iP50wcLk9bdPOJQPluxOTLbqqrCVJhalpt3Nra8zhSjb2xqZvLiDWnrX5i8lO+fdkBFPl63RVZvcVIN/+CMgfzPa7OYs2oLQzwzVcMwuO/uTFmyEXDK/M1fs5W9duvIik250xn/14VfSFr+f271pKG//LuzQmDfXl14262SBNCvZ+ekZYArTxjAlScMSFr3xNXHhnsjHoJexrdfcHjaunO/0Idzv9AnaV2qvQBH9u/BJSkTsjKd+5Kh/XzbhmGP3TpGUlEqG7U1wvPXnZhkg99ncd4Re6eVHrzm5P0jta2q+sPz7TzLFKP/fOUW1mxJLzzx+cotzFwe3d3XKC6JPDUnHuhMdZ+9Mv/vzm9yU5gnydxHLT3lDHNYiKU0mNDjxOj9MvS9N9dJbrV/fXKB5hpxvHqjMli1aScd29UwqM9utK+rYfYq/7qpQYbZJo+QcQgzfyMbpR47H6fnUXs4jpbqEvo8PauGpmbfNLLvzV1Lh7oaThmYPNzz9IP34IXJy4pWT9SIltVbdrJHt47U1dawf+8uGT36bbsafdd78Q4fTIh+mEEAvscs09j5OF295tlHS1UJfZgYvZeGpmZf0X53zhoO32d39u6enJTpy0fuw4pNO/hwfmQjRY0isnrzTuq7dQCcxFmfr/T36LcGyGLqN+a90PH2rbNhDSMaqkro847RN2pSTc/EYXY2NjO4b/cWkUhw1qF70qV9LS98UvyRGUbxWbV5J/VdE0LflaUbtrN1Z7r3vs1nXSpJQl80j7487mycbiwWuomWqhL6fH9wu1I8+jpPzHVI/+5paVY7ta/lnMP3Ysyny5PG4xvxZPXmneyxmyP0B+7RDYA5PnH6QB6997W7UKwZtDaKy4iKqhpeme8PbvT4+bzoGTft7ZQ7sl93tvuI+ZeH7MOzk5bytVEf0C3HmGyjvGzc3pDk0QP8v79NpXfXDmntcuHX71qwR1/Q3oaRm6pSqCH9unP2oD1ZuXknpx9czz1/n02vLu3p1L6W9rU1zFuzlcH9unNAfRcWrd3GIX26sXlHI0vWb6epWencvpZ2tTX079mZT5du5OKj+9K3Rycam5WLj+5Lu9oaThnopOo54YBenD94b5Zt2O57IzDiw7H79eT0Q5wKTfv26sKXBu/NUp/vrX1dDaceVE+HuhrGz1nDwD26MmXJRm4ecWhLgY4fnD6Q3TrWMW7OGr40eG/++P5Crj/zQP7n1VnsX9+VA/fo2nK8W84blBb28+NPVx/L0x8tokeJZ1tf8i/9mLRoPf96Rvkm/4365tE89u4C+vXoXDYb2gJSrvhgNoYOHaoTJkwotxmGYRgVg4hMVNWhftuqKkZvGIZhpGNCbxiGUeWY0BuGYVQ5hRYeGSYin4nIHBG5wWd7BxH5i7v9Q7fkoGEYhlFCCik8Ugs8AJwLDAIuE5FBKc2uBtar6oHA3cD/5Hs+wzAMIz8K8eiPAeao6jxV3QX8Gbggpc0FwOPu678CZ4rNCjEMwygphQj9PsBiz/ISd51vG1VtBDYCvQo4p2EYhhGS2EyYEpGRwEh3cYuIfJbnoXoDa4pjVVExu8JhdoXD7ApHNdq1b6YNhQj9UsBbBqavu86vzRIRqQN2J0NxcFUdBYwqwB4ARGRCpkkD5cTsCofZFQ6zKxxtza5CQjcfAwNFZD8RaQ9cCryY0uZF4Er39cXAW1EWBzcMwzDSKaQ4eKOI/AB4HagFRqvqdBG5HZigqi8CjwJPiMgcYB3OzcAwDMMoIQXF6FV1DDAmZd3PPK93AF8t5Bx5UHD4JyLMrnCYXeEwu8LRpuyKZVIzwzAMo3hYCgTDMIwqp+KEXkQ6ldsGP0SkS7lt8ENE9heRg8ttRyr2PYZDRPYVke7ltsMPEakvtw2ZiOMEzXJc+xUj9CLSVUTuBx5xc+zsXm6boMWue4DRInKRiOxRbpsARKSjiPwep7M8MTKq7Lif193AfSJyWsy+x7uBP4nI10Uk45jkUuLadRfwCrB3ue3x4tr2W+A1EfkvETmx3DYBiEg3EfmdiBwcp1F+5dSwihF64B6gPfAscBmQlkSt1IjIecC7QAPwNPBd4OiyGtXKJUAvVR2oqq+5aSrKioh0BUbjfF4vASOA/yyrUYCInASMA7bj2HcyzjVWVkRkKM711RM4UlVnlNmkFtx5MQ/gDOj4Jk5FxDPLahQgIgfipGP5DnB7mc1J5R7KpGGxmRnrh4iIqqqI9MbxZi5R1S3ucM1/E5HvqOrDZbCrRlWbgfnA1ao6wV1/CbCp1PakIiI1wF7An9zl03Hsmqeq68tgj7ie1d7Agap6ibtegVtEZJqq/rnUdnlYC/w+cS2JSF9gf/e1lNEr3AHMBe5W1QYRGQJsAJa4KUXKST0wQFVPBRCRzsCU8poEwFbg1zh5tiaLyDBVfa1c32NcNCyWHr2IHCIiDwHXi8huqroGaMa5SwPMAp4DzhORnmW0a7qqThCRehF5FTjO3XaJ672W1C4R+aFrVzNwEHCyiFyHkzX0+zhzGvqU2i5aP6/PgYUi8l23yTacm+XFItKjhHYdICLfSiyr6kzgKU88dynudPJSioOPXdNwPPrrReQfwO9wssDeKSIlzRnlY9tyQEXkDyLyIXAe8CUReb7E19hAEblXRK4VkR6uXR+7N8J7gZ+59pZU5OOmYbETehHZD8cTnQsMBh50PZlfA+e4X+ZOYCqOSBxVBruOAO4XkWPdzeuAp1R1f5xJYicAXy6DXYOBh0TkIOBXwOXAIap6DI7QzwZuKZNd97sx3HuAG0XkQeAu4GVgEc4TSCns+j4wEcebushdV6OqWz1iMASYXgp7stnl8kecCYnPqerJwG3u8tUxsO18nOy0M1X1IOAaYCGuuJbArhtwxHIpcBrwv+KkT98G4HrKzSLyw1LY47ErdhoWO6EHDgHWqOqvcWLen+GI5g6cR8OfAqjqfGAAzqNaOeyaA4wQkQNUtUlVn3DtegPoDmwuk12zcNJObMFJQXGya9dOnDj0ijLYdS3O53UuzsV9AvAqcKr7uZ2MEx8vBXNxBOkW4HIR6eg+ASVqLAD0Ad5z150pInuWwy4AVV0N/Ieq3usuT8a5tnxzRpXYts04uax2uMs7gfHAqqgNEmd01Bbga6p6J3AVcDhwuBsqaec2vRm4WkTaicj5UppO9thpWByFfhqwQ0QOUdUGHEHojBOKGAV8WUS+IiLH4cQJSzV8KtWuMa5dJ3gbicgRwH6ULjOen12dgFOBHwM9RORCETkT+A/SE8+Vwq5dtH5e56nqUlV9UVU3iMgJOF5gSW6Mqvo6TmfYZJwnse9Bi1ff5PZv9AEOFpExOB2NzWW0S9zHftzlI4DTgeVR25TFtms9m9/ACdmcI07n8b9TmmtsG/A3N+1KB3cW/iScpx3c3wKq+g8cJ2ITcB1Qir6N2GlYHIW+AzATOAlAVT/Guaj3V9W5wE9wip48DDyoqu+Vya4JODn4B4hIjTjJ3Z7H+SIfVNV3y2jXYhzPZjuOUPXB8cbuVdVHy2jXIhwPBhHpLSIPAw8Cz6hqyTxU14NfiiNeZ4nIwIRXDxwAfAknCd8fVfVK16sul10KICI9ReSvwCPA79z0IyUjxbYvishAd/1K4Cacp8iHgXvUyUQbtT3qxuNR1Z3u09hRQMtgAxFp74ad9gK+parDVLVoNyFJmXPh6eOJn4apasn/cDoHvwnUZNh+DfAb4Hh3+ThgWkztmuq+7gRcFSO7Po3z5+UuDy+HXZ52e+H0ZdzsLg90//8wZnYd5P7/arm+ywCfWccy23Uy8LLXTvf/4RHZ9TPgnzhDJE9119V6tpdFwzLaW9KTQQ+cnvBVwGvAfinbE7l3+uOMrx4DdMXJevko0DmmdnWJqV1x/by6lsOuDPscjNNJvRX4SUzt+s8o7CqSbT/OJcJR2uW51s7DeWq9CJhBdE7XAPd6Hu2K909x5tB0c7fXuP9L+pvMaXdJTgKdEv9xHmdqgD+4H0T7TF8gTi/18zgxr2PMLrOriHbVAHsAHwIfACe3FbvibFs+drntH8bpS3kmIrs6u/97Ad/xrD8aeAz3CSJln8iv/cD2R3pw50P5X+AJnFlznT3b/gV4C2fGX6b9Bag3u8yuiOzqSAThkLjaFWfbCrHLvb6uJgIvPsWus3BmtgqtnntfnBuf71NqVNd+2L9I0xSLyNPASuAj4Gxgsare4tn+W5zZubeoaslmlJpdZpc7miWSiz+udsXZtnztisHndQbwXVX9WlQ2FIWo7iDAnjixtcTN5CjgSeByT5u9cYYeHY8zzvSkqO9sZpfZ1RbtirNtFW7Xt4BfuK+/CAwpxXcZ9q8owys9w4paUGfYVSf3gwBnuNGLONPdu7htlrnr38SZ8VfUMa5ml9nVFu2Ks21VZFcixclRwG4iMhpn2GRTMe0qGkW467VLWfbGry7EmeKe6GA5ELgf926MM/FjIfCjCO7GZpfZ1ebsirNt1WYXTihpCs4N4HtRfJfF+ivIoxcnYdbfReSn4mRIRN1Pw2U8zpT7n7jb5uAMT9ribv8MJxfLPYXYYXaZXWZXvG2rQru2qpM47W5gqKo+WEy7ik3oNMXuI85ewO9x7nw34+QVv1BEPgK2a+ssw844kwZeFifD3Xac8bGJacrLCn4HZpfZ1YbtirNtVW5XnWvXY8WyK1JCPuLUJR51gDM8678H/NyzvC/wV+Ahd/kS4E7gU+CiYj+WmF1mV1u0K862mV3x+gs0vFKcajJ3uB/OK+pkaEysvx7nsWYqzmPOcziPNser6o05D14AZpfZ1RbtirNtZldMCXAHFJxHnD8BVwBjcbLAdXS3D8eZRNAdJ6vdUyn7F316tNlldrVVu+Jsm9kV378gMfpuOIUYzlHVzSKyxv1gLsHJ7pfIordLRJYAa8QpRN0ENGtrrKvYmF1mV1u0K862mV0xJeeoG3VmoS3ASewPTmmzT4DjRKSlKpCIdAK+AWxW1V3qFOPIHRfKE7PL7GqLdsXZNrMrvgQdXvkcMERE+qjqFpxY1g6gj4jUicidwMfALFW9KSJbzS6zy+yKv21mVwwJKvTjcSomXQWgqpNwEud3UWcs6TvAuap6axRGml1ml9lVMbaZXTEk0Dh6VV0uIi8Ad4jIHJw73w7caciq+nJ0JppdZpfZVSm2mV0xRcP1Xp+Lk3B/FvCDMPtG+Wd2mV1t0a4422Z2xesvdJpicaqrqzqPO7HB7AqH2RWOuNoF8bXN7IoPkeajNwzDMMpPUdIUG4ZhGPHFhN4wDKPKMaE3DMOockzoDcMwqhwTesMwjCrHhN4wDKPKMaE3jAyIyGkickIe+y0Qkd557Fcduc+N2GFCb7QJ3AITYTkNCC30BWBCb0RCPhe/YcQSEfkm8B+A4mQnbMLJZ3Ik8K6IPAA8ANQD24DvqOosETkfp25oe2AtTnGKTjhFKJpE5OvAv+JMm38I6O+e8keq+q6I9AKeBvYB3scpdJHNzueBfkBH4F5VHSUidwCdRGQyMF1Vryj8EzEMB5sZa1QFInIYTiraE1R1jYj0BO4CegMXqGqTiLwJXKuqs0XkWOBXqnqGiPQANqiqisg1wKGq+mMR+TmwRVV/457jKeD3qjpeRPoDr6vqoSJyH7BGVW8XkRHAy0C9qq7JYGtPVV3n5j//GDhVVdeKyBZV7Rrl52S0TcyjN6qFM4BnEuLqCinuuiYR6YoThnnGXQ/Qwf3fF/iLiPTB8ernZzjHWcAgz/67ucc9BfiKe95XRGR9DluvF5EL3df9gIE4TxKGEQkm9Ea1s9X9X4PjtQ/xafM74C5VfVFETgN+nuFYNcBxqrrDu9Ij/Dlxj38WTuHpbSLyD5wQjmFEhnXGGtXCW8BX3Xg5buimBXXKyc0Xka+620VEBrubdweWuq+v9Oy2GafeaII3cGL1uMcY4r58B7jcXXcu0COLnbsD612RPwQ4zrOtwc2saBhFxYTeqApUdTrwX8A/RWQKTnw+lSuAq93t04EL3PU/xwnpTMSpQpTgJeBCEZksIicD1wNDRWSqiMzA6awFuA04RUSm44RwFmUx9TWgTkRmAncAH3i2jQKmisiTQd+3YQTBOmMNwzCqHPPoDcMwqhzrjDWMCHD7Ct702XSmqtoIG6OkWOjGMAyjyrHQjWEYRpVjQm8YhlHlmNAbhmFUOSb0hmEYVY4JvWEYRpXz/wExudihdMPQWwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-3-1']['count'].plot()    #切出2019-3-1这一天，看一下一天时段的api调用情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "advised-peninsula",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-54-8d9de493a542>:1: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  df2=df['2019-3-1']\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-03-01 00:00:00</th>\n",
       "      <td>2.957447</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-03-01 01:00:00</th>\n",
       "      <td>1.347826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-03-01 02:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-03-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-03-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        count\n",
       "created_at                   \n",
       "2019-03-01 00:00:00  2.957447\n",
       "2019-03-01 01:00:00  1.347826\n",
       "2019-03-01 02:00:00  1.000000\n",
       "2019-03-01 03:00:00       NaN\n",
       "2019-03-01 04:00:00       NaN"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2=df['2019-3-1']\n",
    "df2=df2[['count']].resample('1H').mean()\n",
    "df2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "rental-evolution",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "matched-difficulty",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "surprised-reconstruction",
   "metadata": {},
   "outputs": [],
   "source": [
    "#结论：从凌晨2点到11点访问少，下午两三点是第一个访问高峰，晚上八九点是第二个访问高峰。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "educational-design",
   "metadata": {},
   "source": [
    "### 7.分析一天中api响应时间，如下图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "essential-chess",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-61-e321c045d763>:1: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  df['2019-3-1']['res_time_avg'].plot()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-3-1']['res_time_avg'].plot()   \n",
    "#可以看到在业务高峰时间段，最大响应时间和平均响应时间都有所上升"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "joint-watts",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-58-c444bd1cb1c2>:2: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  df['2019-3-1'][['res_time_avg']].boxplot()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#做箱线图查看异常值\n",
    "df['2019-3-1'][['res_time_avg']].boxplot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "local-static",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-59-fe34d3a088fa>:1: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  df['2019-3-1'][['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-3-1'][['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "developmental-credit",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-60-06461e9423c1>:1: FutureWarning: Indexing a DataFrame with a datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.\n",
      "  data=df['2019-3-1'].resample('20T').mean()\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data=df['2019-3-1'].resample('20T').mean()\n",
    "data[['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "confident-bishop",
   "metadata": {},
   "outputs": [],
   "source": [
    "#结论：业务高峰时段在下午2点到5点，和晚上7点到8点半。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "responsible-adobe",
   "metadata": {},
   "source": [
    "### 8. 分析连续的几天数据，可以发现，每天的业务高峰时段都比较相似"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "based-permission",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-3-1':'2019-3-10']['count'].plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "promotional-minutes",
   "metadata": {},
   "source": [
    "### 9. 分析周末访问量是否有增加。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "purple-suicide",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  \n",
       "created_at                                                       \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3  "
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['weekday']=df.index.weekday       #给表加一列表明每天是星期几的数据\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "separated-station",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  weekend  \n",
       "created_at                                                                \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3    False  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3    False  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3    False  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3    False  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3    False  "
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#判断当日是否是周末\n",
    "df['weekend']=df['weekday'].isin({5,6})\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "portable-kentucky",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对weekend进行分组，对count列求平均值\n",
    "df3=df.groupby('weekend')\n",
    "df3['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "younger-spare",
   "metadata": {},
   "outputs": [],
   "source": [
    "#结论：周末的访问次数稍高一些。下面分析哪个时段访问次数更高？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "coordinate-salmon",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend  created_at\n",
       "False    0              3.239120\n",
       "         1              1.668388\n",
       "         2              1.162551\n",
       "         3              1.086705\n",
       "         4              1.155556\n",
       "         5              1.136364\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.000000\n",
       "         9              1.080000\n",
       "         10             1.239011\n",
       "         11             2.031690\n",
       "         12             4.195845\n",
       "         13             6.668042\n",
       "         14             8.260503\n",
       "         15             8.934448\n",
       "         16             8.466504\n",
       "         17             6.784996\n",
       "         18             6.717731\n",
       "         19             8.655913\n",
       "         20            10.536496\n",
       "         21            10.846906\n",
       "         22             9.034164\n",
       "         23             5.946834\n",
       "True     0              3.467782\n",
       "         1              1.741849\n",
       "         2              1.161826\n",
       "         3              1.050000\n",
       "         4              1.076923\n",
       "         5              1.333333\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.071429\n",
       "         9              1.144928\n",
       "         10             1.254111\n",
       "         11             1.992958\n",
       "         12             4.031889\n",
       "         13             6.905772\n",
       "         14             8.851321\n",
       "         15             9.858422\n",
       "         16             9.420550\n",
       "         17             7.334743\n",
       "         18             7.342150\n",
       "         19             9.270430\n",
       "         20            11.173609\n",
       "         21            11.695043\n",
       "         22            10.419916\n",
       "         23             7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "sixth-asian",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='weekend,created_at'>"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean().plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "beginning-flood",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekend</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekend         False      True \n",
       "created_at                      \n",
       "0            3.239120   3.467782\n",
       "1            1.668388   1.741849\n",
       "2            1.162551   1.161826\n",
       "3            1.086705   1.050000\n",
       "4            1.155556   1.076923\n",
       "5            1.136364   1.333333\n",
       "6            1.000000   1.000000\n",
       "7            1.000000   1.000000\n",
       "8            1.000000   1.071429\n",
       "9            1.080000   1.144928\n",
       "10           1.239011   1.254111\n",
       "11           2.031690   1.992958\n",
       "12           4.195845   4.031889\n",
       "13           6.668042   6.905772\n",
       "14           8.260503   8.851321\n",
       "15           8.934448   9.858422\n",
       "16           8.466504   9.420550\n",
       "17           6.784996   7.334743\n",
       "18           6.717731   7.342150\n",
       "19           8.655913   9.270430\n",
       "20          10.536496  11.173609\n",
       "21          10.846906  11.695043\n",
       "22           9.034164  10.419916\n",
       "23           5.946834   7.025452"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#周末和非周末数据叠在一起，更好比较\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "attached-exchange",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEHCAYAAAC3Ph1GAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA7g0lEQVR4nO3dd3hU15n48e+Z0agXJJAoEipgQIAQkhDVpphiXHAFYxPiEhfsTV3bSTYbZxPvL073er2Jkzg4jivG2IBjG5fgQjPFRhKidxCgAmqACipTzu+POwgBEiDNjK5Gej/Po0czd+7c+2oe8epwynuU1hohhBD+x2J2AEIIIdpHErgQQvgpSeBCCOGnJIELIYSfkgQuhBB+KqAjb9arVy+dnJzckbcUQgi/l5ubW661jr3w+GUTuFLqH8AsoFRrneY+9gfgZqAROAh8S2t96nLXSk5OJicnp42hCyFE96aUOtLS8SvpQnkFuP6CY58CaVrrdGAf8J8eRSeEEKLNLpvAtdZrgcoLjq3UWjvcTzcBCT6ITQghxCV4YxDzAeBjL1xHCCFEG3g0iKmUehJwAIsucc4CYAFAYmLiRa/b7XYKCwupr6/3JBS/ERwcTEJCAjabzexQhBB+rt0JXCl1P8bg5jR9iYIqWuuFwEKA7Ozsi84rLCwkIiKC5ORklFLtDccvaK2pqKigsLCQlJQUs8MRQvi5dnWhKKWuB34M3KK1PuNJAPX19fTs2bPLJ28ApRQ9e/bsNv/bEEL41mUTuFJqMbARGKKUKlRKPQg8D0QAnyql8pVSL3gSRHdI3md1p59VCOFbl+1C0VrPa+HwSz6IRQghOk7pbnA2Qt+RZkfSbt1yKf2UKVO8vqBo9erVzJo1y6vXFEL4gMsF6/8IL1wDr8yC2nKzI2q3bpnAhRDdVE0pLJoDn/4XDJgCjbWw+rdmR9VufpHA//CHP/DHP/4RgMcee4ypU6cC8MUXXzB//nxWrlzJ+PHjycrK4s4776SmpgaA3NxcJk+ezKhRo5g5cyYlJSXnXdflcnH//ffzs5/9DKfTyY9+9CNGjx5Neno6f/vb3wCjZT1lyhTmzJlDamoq8+fP5+ykm08++YTU1FSysrJYvnx5R30cQoj2OPAZ/HUCHFkPs/4X5i+F7G9Bzj+gbJ/Z0bWLXyTwiRMnsm7dOgBycnKoqanBbrezbt060tPTefrpp/nss8/Iy8sjOzubZ599Frvdzve+9z2WLl1Kbm4uDzzwAE8++WTTNR0OB/Pnz2fQoEE8/fTTvPTSS0RFRbF582Y2b97Miy++yOHDhwHYsmULzz33HLt27eLQoUOsX7+e+vp6Hn74YT744ANyc3M5fvy4KZ+NEOIyHI2w8mfwxmwI7QUPr4LsB0ApmPKfEBhmtMj9UIdWI2yvUaNGkZubS1VVFUFBQWRlZZGTk8O6deu45ZZb2LVrF1dffTUAjY2NjB8/nr1797Jjxw5mzJgBgNPppG/fvk3XfOSRR5g7d25TUl+5ciXbtm1j6dKlAJw+fZr9+/cTGBjImDFjSEgwqgVkZGRQUFBAeHg4KSkpDBo0CIBvfvObLFy4sMM+EyHEFag4CMsehOItRtKe+WuwhZx7PawXTHwCPvsFHFwFA681L9Z28IsEbrPZSElJ4ZVXXmHChAmkp6ezatUqDhw4QEpKCjNmzGDx4sXnvWf79u0MHz6cjRs3tnjNCRMmsGrVKp544gmCg4PRWvOnP/2JmTNnnnfe6tWrCQoKanputVpxOBwXXk4I0dlsextWPAYWK8x9HYbd0vJ5Yx+FnJeMVvoja43z/YRfdKGA0Y3yzDPPMGnSJCZOnMgLL7xAZmYm48aNY/369Rw4cACA2tpa9u3bx5AhQygrK2tK4Ha7nZ07dzZd78EHH+TGG29k7ty5OBwOZs6cyV//+lfsdjsA+/bto7a2ttV4UlNTKSgo4ODBgwAX/QERQpikoRrefRSWPwx9RsCj61tP3gC2YJj+33BiB+S/2XFxeoFfJfCSkhLGjx9P7969CQ4OZuLEicTGxvLKK68wb9480tPTGT9+PHv27CEwMJClS5fyH//xH4wcOZKMjAw2bNhw3jUff/xxMjMzueeee3jooYcYNmwYWVlZpKWl8cgjj1yypR0cHMzChQu56aabyMrKIi4uztcfgRDicoq3wN8mw7YlMPkncN8K6NH/8u8bfjskjIEvfgkNNb6P00vUJcqYeF12dra+cP717t27GTp0aIfF0Bl0x59ZCJ9yuWDTX+CzpyAsFma/CMnXtO0axzbDS9Nh0o9h6pOXP78DKaVytdbZFx73mxa4EEK0atmDsPJJGHQd/Nv6tidvgP6jIW02bPgTnC7yfow+IAlcCOHfTuyCncvh6h/A3YsgNKb915r2C9AuoyvFD0gCF0L4t/xFYAmACd835nZ7IjoJxn8bti6GojzvxOdDksCFEP7LaTemCw6+3pjT7Q3XPG4s+Fn5M+jAMcL2kAQuhPBfBz6D2lLI+Ib3rhkcCdf+1Fhyv2eF967rA5LAhRD+K3+R0VoedJ13r5t1H8Smwqc/N5bid1KSwDFWV2ZkZDR9FRQUtHpueHh4xwUmhGhdbQXs/QTS7wJr2/aYLSiv5ekVu/j7ukMtn2ANgOt+BZWHYPPfvRCsb/jFUnpfCwkJIT8/3+wwhBBtsf0dcNmvuPtEa836AxW8vP4wX+wtRWuwWRW3ZcbTKzzo4jcMmg4Dp8Ka38HIuz2b3eIj0gJvQU1NDdOmTSMrK4sRI0bw3nvvXXROSUkJkyZNIiMjg7S0tKZqia2VthVCeFn+ImM3nT5plzytrtHJm18dZeZza/nmS1+Rf+wU37v2Kt58eCx2p2ZZbmHrb77uaWiogjW/93Lw3tGpWuD//cFOdhVXefWaw/pF8oubh1/ynLq6OjIyMgBISUnhnXfe4d133yUyMpLy8nLGjRvHLbfcct5+lm+++SYzZ87kySefxOl0cubMGcrLy5tK24aFhfG73/2OZ599lp///Ode/ZmE6PaOb4fj2+CG1hNr8ak6Xt90hMVfH+XUGTvD+kbyhznp3DyyH8E2o2DV6ORolmw+xoJJA1rer7b3cMi6Fza/CKMfgl5X+eonapdOlcDNcmEXit1u56c//Slr167FYrFQVFTEiRMn6NOnT9M5o0eP5oEHHsBut3PbbbeRkZHBmjVrWixtK4Twsvw3wWKDtDnnHdZak3f0JP9YX8AnO46jtea6YX341tXJjEmJuShJ3z06kSfe2cpXhysZN6Bny/e69knYvtQoOXv3Il/9RO3SqRL45VrKHWXRokWUlZWRm5uLzWYjOTmZ+vr6886ZNGkSa9eu5cMPP+T+++/n8ccfJzo6usXStkIIL3I0GsWqhlwPYUbSbXS4+HB7MS+vL2Bb4WkigwN48JoU7hmXRP+Y0FYvdeOIvjz1wU7e+vpo6wk8PA6uecxYnXl4HaRM9MVP1S7SB96C06dPExcXh81mY9WqVRw5cuSic44cOULv3r15+OGHeeihh8jLy2u1tK0QwosOfApnKiDjmwC4XJo7/rqex5ZspbbBwS9vS2PTT6fx0xuHXjJ5A4QEWrk9M56Pdhzn1JlLTBcc/x2ITDDqrbhc3vxpPCIJvAXz588nJyeHESNG8Nprr5GamnrROatXr2bkyJFkZmayZMkSfvCDH7Ra2lYI4UX5b0JYHFw1DYBNhyrYUVTFz24ayqePTeaecUmEBl5558LdoxNpdLhYnneJAla2EJj+FJRsNVr/nYSUkzVBd/yZhfCKmjJ4NtXYRWfmrwB4bEk+n+0+weYnpzcNTrbVrX9eT12jg3/9+6SWBzPBaHm/NB2qSuDftxtzxTuIlJMVQvi/7e+AywEZ8wGoqrfz0fYSbmk2s6Q95o3uz74TNeQdPdX6SRYLjPs2VBdD6a5238ubJIELIfxH/pvQLxN6DwNgxdYSGhwu5mZfwa47l3DzyH6EBVp56+ujlz4xfpTxvSjXo/t5iyRwIYR/KNkKJ7Y3tb4B3s45xuDe4aQnRHl06bCgAG7J6MeKbSVU19tbPzE6GUJiJIELIUSb5L8J1kBj1xxg/4lq8o+dYm52/9b7rdvg7tGJ1NmdvJdf3PpJShmt8E5SK/yyCVwp9Q+lVKlSakezYzFKqU+VUvvd36N9G6YQoltzNBp1v4fc2FST5J3cQgIsRi0Tb0hPiGJo30je2nwF3ShluzvF5sdX0gJ/Bbj+gmM/AT7XWg8CPnc/F0II39j3CdRVNnWf2J3GtL+pqXEtF6JqB6UU88b0Z0dRFdsLT7d+YvwoY9u1kq1eua8nLpvAtdZrgcoLDt8KvOp+/Cpwm3fD6jgVFRVNZWT79OlDfHx80/PGxs5bB1iIbiX/TQjvY1QHBNbsLaO8poE7PRy8vNCtGfEE2ywsvlQrPD7L+N4J+sHbO5Gxt9a6xP34ONDbS/F0uJ49ezbVQXnqqacIDw/nhz/8YdPrDoeDgIBOVXFAiO6lphT2r4QJ322ae/12zjF6hQcxZUisV28VFWLjxhF9eT+/mCdvHEpYUAv/9sN6QY+kTpHAPR7E1MZKoFZXAymlFiilcpRSOWVlZZ7erkPcf//9PProo4wdO5Yf//jHPPXUUzzzzDNNr6elpTVt+vDGG28wZswYMjIyeOSRR3A6nSZFLUQXtW0JaGdT90l5TQNf7Cnljqx4bFbvz8P4xphEahocfLitpPWTOslAZnublieUUn211iVKqb5AaWsnaq0XAgvBWIl5yat+/BOjTKQ39RkBN/y2zW8rLCxkw4YNWK1WnnrqqRbP2b17N0uWLGH9+vXYbDa+/e1vs2jRIu69914PgxbiCmgNO5ZBwmhjN/WuSGuj+yQ+G2KHAPDPLUU4XJo7RyX45JajkqK5Ki6cxZuPMnd0K1008aNg53LjfwfhcT6J40q098/X+8B97sf3ARfveODn7rzzTqzWS6/s+vzzz8nNzWX06NFkZGTw+eefc+hQK1s0CeFtOS/Bsgfhz2Nh7TOdeu/GdivJN1Y9unfd0Vrzds4xMvr3YFDvCJ/cUinF3aP7s+XoKfYer275pKYFPea2wi/bAldKLQamAL2UUoXAL4DfAm8rpR4EjgBzvRJNO1rKvhIWFtb0OCAgAFezCmRnS8tqrbnvvvv4zW9+0+HxiW6ubC/860lImWzsov7FL42uhhufgQGTzY7Oe7YsAmsQpN0BwLbC0+w7UcOvbx/h09vekZXA7z/Zy+Kvj/LULS2Uue6bDspq9IMPuXCSXse5klko87TWfbXWNq11gtb6Ja11hdZ6mtZ6kNZ6utb6wlkqXUpycjJ5ecZf2ry8PA4fPgzAtGnTWLp0KaWlRg9SZWVli6VnhfAqR4PR8g4MgztehLvegG+8A85GeO0WWPYwVJ8wO0rPORqM2idDZ0GIsdTkndxjBNsszBrZ16e3jgkLZGZaH97dUkS9vYVxrcAwiBtm+kCmrMS8ArNnz6ayspLhw4fz/PPPM3jwYACGDRvG008/zXXXXUd6ejozZsygpOQSAx9CeMMXvzTGim79M0S4J4ANvg6+vQkm/Rh2/ROeHw1fvwguPx5U3/sx1J9q6j6pd6+SvCGtL5HBbduFvj3mje7P6To7H+9o5d90fJaRwDuwouuFZH5cM60NVoaEhLBy5coWX7vrrru46667fBiVEM0cXAUb/gTZD8KQG85/zRYCU5+E9Lnw4RPw0Q9hyxsw69lzfbb+JH8RRPSDAdcC8K+dx6mud/hs8PJC4wb0JKlnKIu/PsbtmS3cM34U5L0KlYeg58AOielC0gIXwl+cqYR//hv0Gmzslt6aXoPg3vdg9ktQXQIvToMVj0PdqQ4L1WPVx+HAZzDybrAYkwneySkkITqk9a3PvMxiUdw1uj9fH67kYFkLy+Y7wUCmJHAh/IHW8P73oLYcZv8dAi+9VRhKwYg58N3NMPYRyH0Zns+GrUtM/S//Fdu2xFiu7u4+KTx5hvUHy5kzKgGLxfPCVVdqzqgEAiyKJZuPXfxibCrYQk3tB+8UCbwjdwUyW3f6WYUXbXkd9qyAaT+HviOv/H3BUXDD7+DhVdAjEd5dAK/MgsrDvovVU2fnfieMMf43ASzLLUJrmJ3VMd0nZ8VFBDN9aG+W5RbS6LhgL0xrAPTN6N4JPDg4mIqKim6R2LTWVFRUEBwcbHYowp+UH4CP/wNSJsH477bvGv0y4MHPYNZzcHwbfPADb0boXUV5ULYHMo2Vly6XZmneMa6+qudlNyn2hbvH9KeitpFPd7Uwsyc+yyhq5bxEDXEfMn0QMyEhgcLCQvxlmb2ngoODSUjo2FaE8GNOOyx/yKiDffvfjG292stigexvQVURrPsfY6phRCcsY5S/CAKCYfjtAHx1uJJjlXU8MWOIKeFMHBRLfI8Q3tp8lJvSL5i+GD8KnM/DiZ3GH8kOZnoCt9lspKSkmB2GEJ3T6t9A8RaY+xpE9vPONdNmw9o/wK73YOwC71zTW+z1sGMpDL3Z6P4B3sk5RkRwANen9TElJKtFMTe7P//72T6OVZ45/38BzbdYMyGBm96FIoRoRcF6WPcsZN4Dw2713nXjhhqLUHYu9941vWXvR1B/umnwsrrezkc7SrjZw02LPTV3dAIWxcWbPfRIhNBeps1EkQQuRGdUdwqWL4CYFLjeByUm0u6AoxvhdKH3r+2JrYuNud8pRjmAFdtKqLd7vmmxp/pGhTBlSBzv5BTicDYbzGzaYs2cgUxJ4EJ0NlrDiseg5rgxZTAo3Pv3GG7UFmHnu96/dntVn4ADn8PIu5rN/T7GoLhwRnq4abE33D26P6XVRinb88SPMgZdG1opfOVDksCF6Gy2vmV0b0z5T9+toOw5EPplGuVoO4vtbxt1v0ca3ScHSqvJO+q9TYs9NTU1jriIIN66cE54/ChAQ3F+h8ckCVyIzqTykLEEPnECXPOYb++VNtsYIK046Nv7XAmtIX+xkQxjjVpD7+QWYvXipsWeCrBamDMqgdV7Szl1plnpXhO3WJMELkRn4XQY/d7KCnf8rakboTVaa1btLaWytp11wN3T9DrFYObxbVC6E0bOA8DRbNPi2AjvbFrsDZMGx+LSkHf05LmDoTEQnSIJXIhube0foHCzUXyqR+IlT3W5NE+9v5NvvbyZGc+uYcW24rYvhotKgP7jYEcnSOD5i4257mmzAVizr4yy6oYOK1x1pUYm9MBmVWwuOHn+CyZtsSYJXIjOoGQbrP09pN9t1DC5BIfTxQ+XbuXVjUeYNyaRhOgQvvvmFh55PZfSqvq23TdttrHjzYldHgTvIafdqPs9+HqjNcvZTYsDuTbVvO3KWhISaGV4vyhyW0rgVYVGEa4OJAlciM4g92Vj55kbfnfJ0xocTr7zZh7L84p4fMZgfn17Gsv+bQL/eUMqa/aVMf3ZNbyTc+zKW+PDbgVlMbcbZf+ncKa8adPiipoGPt9dyu2Zvtm02FPZSdFsLTxFg6NZrXWTKhN2vk9HiO7G0WDMBhl6M4T0aPW0M40OHno1h3/tPMHPZw3j+9MGoZQiwGrhkckD+fgHE0ntE8mPlm7jvpc3U3jyzOXvHdEbkica3Shm1SPa+iaExcJV0wB49+ymxSbP/W5NdnIMDQ4XO4qqzh1svsVaB5IELoTZ9n1irD4ceXerp5yus3PPS1+z/kA5v5+TzgPXXFx+YkBsOG8tGMf/u3U4OQWVzPzftby2sQCX6zKJOW02VB40ijJ1tDOVsPcTGDEXrDa01izNLWRk/x4M9tGmxZ4alWRs75Z7pNlOkrYQ6D1cErgQ3U7+YojoCwOmtPhyeU0D8xZuYlvhKZ7/RtYlVyVaLIp7xyez8rFJZCVF8/P3dnL3wk0cLq9t/f5DbwZLgDlzwrcvBZcdMozZJzuKqthzvLrTDV42FxsRRHLP0JYHMovzwOVq+Y0+IAlcCDPVlMGBT41t0FqYNlh8qo65f9vIofIaXrw3mxtHXNlmvgnRobz2wBh+PyedPceruP65tSxce/D8ZeBnhcbAwKnGqswOTD6A0X3SewT0MXaZX5ZXSGCAhZvTvVS4y0eyk2PIO3Ly/LGG+FHG/6QqD3VYHJLAhTDTjmXgchizTy5wuLyWO1/YSFlVA689MJYpQ9o2I0Mpo4reZ49PZtLgWH790R5m/3UDe4+3sOQ7bTacPmZMY+wopXuMhUTu1nejw8X7W4uZMbQ3UaG+37TYE9lJ0VTUNp7/P5vmlQk7iCRwIcy0dbGxw07vYecd3nO8ijtf2Eid3cniBeMYkxLT7lvERQaz8J5R/GleJoUn65j1p3Usy72giNWQG41ZMB3ZjbL1TWPgb8SdAKx2L0qaPapzrLy8lOxkox88p3k3SuwQsIVJAheiWyjdDSX5TasPz9py9CR3/W0TVgu8/cg40uI9L+SklOLmkf349PHJpMVH8dtP9py/RVhwJAy+zt2N4mz9Qt7icsK2t2HQDAg3/mexPK+IXuGBTBoU6/v7e2hgbDjRoTZymg9kWqxGfRlJ4EJ0A1sXG4OHaecW7mw4WM78v39FVIiNpY9O4Ko4787EiAkL5PvTBlFW3cDHO0rOfzFtNtSWQsGXXr1niw6tguqSpj9eJ2sb+XzPCW7NiCegE879vpBSilFJ0eQcuXAgM8soC+BoZ3mDNur8n5QQXdHZFuhVMyDcaHF+tusE97+8mYToEN55dLzP9n+cPCiWlF5hvLKh4PwXBs00ugA6YlFP/mII7gFDbgBgxbZi7E7d4ZsWe2JUUgyHymqpqGk4dzB+FDgb4cSODolBErgQZji8xt0CNQYvc4+c5JE3ckntE8GSBePpHem7ja8tFsU945LYcvQU2wpPnXshMBRSbzS2WvPlJr31p2HPCqPFH2AUqlqaV0RqnwiG9Yv03X29bHTy2fngzVrhHTyQKQlcCDNsfcvY83Hw9QD8ZdUBokJsLHpoLNFhgT6//ZzsBEIDrRe3wtNmQ91JOLTadzff+U9w1Ddtm3agtIatx04xpxPP/W5JWnwUgVbL+d0oUQkQFtdhS+o9SuBKqceUUjuVUjuUUouVUr5rNgjRVTRUw+4PjF1xbMEcKK3h8z2l3Ds+iYjgjpk+FxlsY3ZWAiu2llDevAtg4FQIivLtbJSti6HnoKbW6vI8o+73LRmde+73hYJtVkYkRJFT0Gwgs4O3WGt3AldKxQPfB7K11mmAFWh9LbAQwrDrfbCfaWqBvvTlYYICLNwzLqlDw7hvQhKNThdvfd1so96AIGNl5u4Vxg7x3lZ5yNiLM2MeKIXTpXl3SxGTBvUiLsL/2n/ZydFsLzpNvf2Cwlbl+4yuIh/ztAslAAhRSgUAoUCx5yEJ0cVtXQwxAyBhNOU1DSzPK+SOrAR6hnfsxgVXxUVwzVW9eGPTUezNV2im3QGN1cYKUW/b+hagmhYubTpUQcnpemb7WffJWdlJMdidmm2FzZJ1fBYdtcVauxO41roIeAY4CpQAp7XWK70VmBBd0qmjULDOmD6nFK9vPEKDw8WDLRSn6gj3TUjmeFU9K3eeOHcwZTKE9vR+N4rLZfzxGjAZoozFOstyC4kIDmD60N7evVcHOVvY6rz54P0yje8d0I3iSRdKNHArkAL0A8KUUt9s4bwFSqkcpVROWVlZ+yMVoivY9rbxPX0u9XYnr286wrTUOK6K88HO81dgamocCdEhvNp8MNMaAMNuM6oENtR472ZHNxh/wNybFtc2OPh4x3Fmpfcj2Hbp7eM6q5iwQAbGhp2/IjM0BmIGdu4EDkwHDmuty7TWdmA5MOHCk7TWC7XW2Vrr7NjYzr/CSgif0dpogSZdDdHJLM8rorK2kYcmDjAtJKtFce/4JL4uqGRXcbP61mmzwVFnlLr1lvzFEBgOQ2cB8PGO49TZnczO6vxL5y8lOymG3CMnzy/b20FbrHmSwI8C45RSoUopBUwDdnsnLCG6oKJcqDgAI+fhcmn+/uUh0uIjGTeg/XVOvGFudn+CbZbzW+GJ440St97aL7OxFnb902jZB4YBxuyTpJ6hTd0Q/io7OZrTdXYOljX730r8KKguhirfDgt60gf+FbAUyAO2u6+10EtxCdH1bF0MAcEw7FZW7S3lUFktD08cgNH+MU+P0EBuz4znn/lFnDy7w73FYuxaf+BTqDvl+U12r4DGmqbKg0Wn6th4qII7MhNM//k9lZ1s/AE+rz54B22x5tEsFK31L7TWqVrrNK31PVrrhsu/S4hu6Oy2aamzIDiSF9cdom9U8BXX9/a1+yYk0+BwsSTn2LmDabONZeF7PvT8BlvfhB6JkGj0sr6bV4jWcIefd58AJPcMpWdY4PkDmX1GGHVufNwPLisxhegI+1caKxxHzmNH0Wk2HarkW1cnd5pNe1P7RDI2JYbXNx7BebYvN36UkXQ9nY1yuhAOrTFm3lgsaK1ZnlfE2JQYn9V76UhKKbKTo89fUm8Lht5pksCF6BLyF0N4bxgwhRfXHSI8KIC7xySaHdV57p+QTNGpOj7b7Z5SqJTRCj+0GmrL23/hbUsA3VT3ZcuxUxwqr/WrwlWXk50Uw5GKM5RWN1v8FD/K2LDCh7scSQIXwtdqK2D/vyB9LsXVdlZsK+Hu0f2J7KBl81dqxrDe9IsKPn8wM202aKdR4Ko9tDb+eCVOMBYvYQxeBtss3DCij+dBdxKjzha2urAfvKHKGLj2EUngQvja2W3TRs7j5fWHAfiWSQt3LiXAamH+uCQ2HKxg3wn3tmu906DX4PbPRinKhYr9TYOXDQ4nH2wtYebwPh1W96UjpPWLIijA0spApu+6USSBC+FrWxdDnxFURw3mra+PceOIvsT3CDE7qhbNG5NIYECzKYVnu1GOrG/flLj8NyEgxJg+CHyxu5TTdfYu1X0CEBhgYWT/HuQ2H8jsNQgCIySBC+G3yvZCcR6MnMeSzceobnDw8MTO1/o+KyYskFtG9mN5XhGn69w1wYffAWijDGxbnJ15M9SYeQPGrvO9I4O4+qpeXo27M8hOimZncRVnGh3GAYsV+mX4NIEH+OzKQgij9a2sOIbN5uW/7mJMSgzpCT3MjuqS7p+QzNLcQt7JOWasEo0dDL1HwOrfQO7Lxm5C2mX0jbtc5x5rl/s1p9H37XIYVRfd26aV1zSwem8ZD05MwWrx77nfLRmdHMNfVh8k/9gpJgx0/4GKHwUb/2z8MQvwfrEySeBC+ErTtmnT+ajARdGpOp66ZbjZUV1WWnwUo5KieX3TER64OgWLRcH0p2DLa6As7i+r0cI8+7zp8QXHw+NgwLUAvJ9fjMPlX9umtUVW4rmBzPMSuMsOx3dAwiiv31MSuBC+UrAOqorQ1z3N31cfYkCvMKalxpkd1RW5b0Iy31+8hdX7Spma2hsGTTe+PLAsr5AR8VEM7u3djZo7i6hQG4N7h7O5tS3WfJDApQ9cCF/Z+hYERbE5cCzbCk/zwDXu1qwfuCGtD3ERQbyy4YhXrrfneBU7i6v8vnDV5WQnx7DlyMlzi6Ei+0F4H5/1g0sCF8IXGmqMnXeG38bCjSVEh9r8quvAZrUwf2wSa/eVnV+kqZ2W5xURYFHcPNK/tk1rq+ykaKobHOemYfp4izVJ4EL4wu4PwF5LUdJtfL7nBPeMSyIk0L9qXs8b2x+b1dh0whMOp4t3txRxbWpch+861NFGuwtbnbdPZnyWMRfeG0XBLiAJXAhf2LoYopP5y8Fe2KwW7hmfbHZEbRYXEcxNI/qyNLeQmgZHu6/z5YFyyqobunz3CUBCdAhxEUHn71R/th+8eIvX7ycJXAhvO10Ih9dyZuidLM0r4o7MeGIj/LPled+EZGoaHCzLLWz3NZblFdEj1Ma1fjKA64mzha3O26EnPgtufMZY0eplksCF8LbtSwHNksaraXC4eKgTL9y5nMzEaEYmRPHqxoLzd5y5QlX1dlbuPM7N6f0ICvCvLqT2yk6KoehUHSWn64wDwVEw5uGmfUC9SRK4EN528AtcccP5c76Da4fEclWcf0+bu29CMofKavnyQNsrEn60rYQGh8tvd51vj2x3YavzWuE+IvPAhfAmRwMc+5r9CbMpP9rIwybud+ktN6X35dcf7eaXK3YxNTWO2Igg4ys8qOlxVIitxZ11lucVMTA2jJEJUSZEbo6hfSMJsVnJKaj0+awbSeBCeFNRHjjqWHQikWF9Ixk/sKfZEXksKMDKkzcN5Zl/7ePlDQU0Oi6ubx1otdArPJDYyOCmxB4VYuPrgkp+NHOI32+b1hY2q4XMxB7nD2T6iCRwIbyp4Es0ivdOJvPUXSldJnHdnpnA7ZkJaK2pqndQVt1gfNU0nHvsfl50qo78Y6eoqG0gxGbtEtumtVV2UjTPrzpATYOD8CDfpVlJ4EJ405EvKQ4agC0ghptGdL1FK0opokJsRIXYuCou/JLnOpwuHC5NsK17DF42Nyo5BpeGLUdPMnFQrM/uI4OYQniLoxF99CtWNwzm2iFxBAZ0739eAVZLt0zeAFmJPbAo3w9kdu/fMCG8qTgP5ahjbWNqt5jzLFoXEWxjSJ/I83eq9wFJ4EJ4S8E6AHIYyjWDut6GBaJtspOi2XL0FA6nbGosROdXsJ5D1mSuSkrsdBsWi46XnRzNmUYne45X++weksCF8AZHI66jm1jTMISp0n0iMErLAmwu8F03iiRwIbyheAsWRx2bXEOl/1sAEN8jhH5RwT6dDy4JXAhvcPd/H4vIZNBlpteJ7mNUcgw5BZVo3fY6MldCErgQXuA6vI69OpHM1IFdZvGO8Fx2UjQnqhooPFnnk+t7lMCVUj2UUkuVUnuUUruVUuO9FZgQfsNpRx/9io3OVK4dIt0n4pyzha1yfdSN4mkL/P+AT7TWqcBIYLfnIQnhZ4q3YHXWkcNwJlzl/7VPhPek9okkPCjAZwOZ7V5Kr5SKAiYB9wNorRuBRu+EJYQfcfd/uxLHExoo1SnEOVaLIjOxR6dsgacAZcDLSqktSqm/K6XCvBSXEH6jbv8a9rj6M3q493dcEf4vOymGvSeqOV1n9/q1PUngAUAW8FetdSZQC/zkwpOUUguUUjlKqZyysjIPbidEJ+S0E1D0tTF9UPq/RQuyk6PRGvKOer8V7kkCLwQKtdZfuZ8vxUjo59FaL9RaZ2uts2NjfVeVSwhTFOdjc9ZxODyD5F7yH1BxsczEHjx3Vwbp8d7f1KLdCVxrfRw4ppQa4j40DdjllaiE8BP2g2sBCB88yeRIRGcVGhjAbZnx9Az3/sbWno64fA9YpJQKBA4B3/I8JCH8R9WeVZS7Ehiblmp2KKIb8iiBa63zgWzvhCKEn3HaCS/N4RMmMTslxuxoRDckKzGFaCddvIUgVx1VfcZ0240LhLkkgQvRThU7VwEQmzbV5EhEdyUJXIh2qtu3mn2ueManDzU7FNFNSQIXoj2cdnqd3MKe4JHE9wgxOxrRTUkCF6Idao/kEqLrcCZebXYoohuTBC5EOxRu+RSAxMzpJkciujNJ4EK0gz78JQd1POmpUv9EmEcSuBBtpJ12+tfkU9RjFDar/BMS5pHfPiHa6PD2DYRRj22gLJ8X5pIELkQbHd/6GQCDxsw0ORLR3UkCF6KNgoo2csyaQK8+iWaHIro5SeBCtMGpmjMMbthBZa8xZocihCRwIdpiW846IlQdkUOvNTsUISSBC9EWp3d9AUBi1nUmRyKEJHAhrpjLpelR+jUnAvtjjexjdjhCSAIX4kptPVrOSL2bM/3Gmx2KEIAkcCGu2K689USqOmLTZPm86BwkgQtxhRoOrAEgfMhkkyMRwiAJXIgrUFbdQFL1Fk6GJEKE9H+LzkESuBBXYM3e44y27EEnXWN2KEI0kQQuxBU4sG0DkaqO6GGyfZroPCSBC3EZDqcL69H1AKhkaYGLzkMSuBCXkXvkJJnOHdSEJ0NkX7PDEaKJJHAhLmP1nuOMtewhcOBEs0MR4jwBZgcgRGd3bNdXRKg6GCjTB0XnIi1wIS6h+FQdvU/mGE+SZQNj0blIAhfiElbvLWOcZTeNUSkQ2c/scIQ4jyRwIS5h1e4Sxln3YBsg/d+i8/E4gSulrEqpLUqpFd4ISIjOorbBQfmBXCI4g0qRBC46H2+0wH8A7PbCdYToVD7fU0qW3mk8SZL+b9H5eJTAlVIJwE3A370TjhCdx8fbS5gcuAcdMwCi4s0OR4iLeNoCfw74MeDyPBQhOo8zjQ6+3lvAeLahBk4zOxwhWtTuBK6UmgWUaq1zL3PeAqVUjlIqp6ysrL23E6JDfbGnlMnOr7HpRhhxp9nhCNEiT1rgVwO3KKUKgLeAqUqpNy48SWu9UGudrbXOjo2N9eB2QnScj7aXMCdoE7pHIvSXHehF59TuBK61/k+tdYLWOhm4G/hCa/1Nr0UmhEnONDrYtmc/Y/V2VNocUMrskIRokcwDF+ICq/eWMdW1AStO6T4RnZpXErjWerXWepY3riWE2T7cXsJs20Z03DDoPczscIRolbTAhWimrtHJvj07GMk+lLS+RScnCVyIZtbsK2WG80vjSdpsc4MR4jIkgQvRzIfbj3O7bSO6/1iITjI7HCEuyT8SeMVB2LHM7ChEF1dvd3Js92YGcVS6T4Rf8I8Evv45+Od3oO6U2ZGILmzNvjKuc61DKysMv93scIS4LP9I4KMfBkcd5L9pdiSiC/t4WxG3BWxED5gCYb3MDkeIy/KPBN43HRLGwOa/g0vKrgjvq7c7qdjzJf0ow5I+1+xwhLgifpHA7U4Xx4fMh8qDcHiN2eGILmjd/nJmONfhtAZB6k1mhyPEFfGLBP4fy7Zxx+o4dGhPoxUuhJd9su0YswI2oYbcCEERZocjxBXxiwQ+JyuB4lrN7j63wt6P4HSR2SGJLqTB4aR29+fEUI0lXWafCP/hFwl8/MCeDO8Xya9OjENrDbkvmx2S6EK+3F/ODNda7LZIuGq62eEIccX8IoErpVgwaQDrK8Ip7zsFcl8FR6PZYYkuYuXWw1xvzcEy/DYICDI7HCGumF8kcICbRvQlvkcIL9ZPhdpS2POB2SGJLqDB4cS552PCqMc6UrpPhH/xmwQeYLXwwDUpvFiSQkN4f9j8ktkhiS5gw4EKrnOuoyEkTjYuFn7HbxI4wN2j+xMRHMiHwTfAkfVwYpfZIQk/90X+Pq615mNNnwMWq9nhCNEmfpXAw4IC+Oa4JH5VlIW2BkGOtMJF+zU6XFj3vI8NJwEy+0T4Ib9K4AD3T0im2tKDLZFTYetbUF9ldkjCT204WM51znXUhidDv0yzwxGizfwugcdFBnNbZj9+U341NNbAtiVmhyT81Jd52xln2U1Q5lzZ91L4Jb9L4AAPTxzAZnsKJ8KHGoOZWpsdkvAzdqeL4H3vYVGagJFS+0T4J79M4IN6RzA1tTcv1E6Bst1wZIPZIQk/s+FgBTOc6zgdPRx6DTI7HCHaxS8TOMCCSQNYXDeGhoAIqY8i2mxzzleMtBwidNTdZociRLv5bQIfmxLDkIQ43lfXone/D9UnzA5J+Am700XY/vdwobClzzE7HCHazW8TuFKKhycN4M81k1EuB+S9anZIwk9scs8+ORk7BiL7mR2OEO3mtwkc4PrhfXBGD2BLYBbkvAxOh9khCT+Q//UaBlpKiBw9z+xQhPCIXyfwAKuFh64ZwF9qpkB1Mez72OyQRCfncLrocfA9HARgG3Gb2eEI4RG/TuAAd2YnkBc0hkprnAxmisv66mAZM1xfUtF3EoREmx2OEB7x+wQeGhjAN8YP4B8NU+DQaijfb3ZIohPb/dUn9FEniR77DbNDEcJjfp/AAe4dn8wypuJQAVKlULTK6dLEHHqfBhVM4DDZ91L4v3YncKVUf6XUKqXULqXUTqXUD7wZWFvERgQxJWs4HzvH4MpfBI21ZoUiOrGvDxQz1bWR8v7XQWCo2eEI4TFPWuAO4Amt9TBgHPAdpdQw74TVdg9NHMBrjulYGqpg+1KzwhCd2MGN79ND1dJz/HyzQxHCK9qdwLXWJVrrPPfjamA3EO+twNpqYGw4PYZMYh+JuL5+UeqjiPOcrrMTV/A+1dYoggdPMzscIbzCK33gSqlkIBP4yhvXa68Fkwfyqn06lhPboTDHzFBEJ1Jvd/K7F99gsmszdYNuBqvN7JCE8AqPE7hSKhxYBvy71vqi4txKqQVKqRylVE5ZWZmnt7uk7KRoDvW9iVpCcG1+0af3Ev7B6dI88+oSflLxUxzhfYm76b/MDkkIr/EogSulbBjJe5HWenlL52itF2qts7XW2bGxsZ7c7kri4b4pw3nHMRG9YznUlvv0fqJz01rz/Fvv8Z1jP0KFRBH28EcQ0cfssITwGk9moSjgJWC31vpZ74XkmRnD+rAq4masLjs673WzwxEmeu2Dlczf+z2sgSFELPgIevQ3OyQhvMqTFvjVwD3AVKVUvvvrRi/F1W5Wi2L65MlsdA6jcdOL4Gg0OyRhgve+WMf1uQsIDAgwknfMALNDEsLrPJmF8qXWWmmt07XWGe6vj7wZXHvNyUpgie0WgmqL4PXboMa3fe+ic1nzdQ6j19xHqFUT8tAKVOxgs0MSwie6xErMC4UEWkkaP5vvN34Xx7Ec9MLJUJxvdliiA2zZsZMBH84j0tJAwLfew9Z3uNkhCeEzXTKBAzwyeQAqfQ631v2c8ppGXP+YKQt8urj9B/cTvXQ20aoG5/zlhPSXneZF19ZlE3hoYAD/d3cmC+66nTnOX5NnT4FlD6JX/he4nGaHJ7ysuOgoAa/fRhwnOXPnW0RdNdbskITwuS6bwM+6NSOeRf8+i//p83ted0xHbfgj9tfvhLqTZocmvORU+QnqXrqZPpRSdstrxA2fbHZIQnSILp/AARKiQ3njkYlUT/8dTzoegsNrqPvLZCjdY3ZowkNnqiopf+FGEpxFFEx/kaSsmWaHJESH6RYJHIzphd+echV3P/pzHg95mpqqUzS8cC32XSvMDk20k/3MaYr/fBOJ9sPsuPpPDL3mNrNDEqJDdZsEftaIhCh+99jD/GPYy+xx9MH29nwqPvwluFxmh9Y6px32/QuWPgh/vQY2/hkaasyOylS6sZajz99Mcv0eNmX9gVHXyf6WovtRugOr9mVnZ+ucnM5TZOqLbUeoe/e73KTXUhA3naQHX0EFRZgdlkFroyDX9rdhxzI4U2FsARadDMVbILgHjFkAYx+BsF5mR9sxnA44dQRn2T6OffQM/U/n8q/Up7lx3nfNjkwIn1JK5Wqtsy863p0TOEBZVT2fvfxz5lYupDgwmZB736JX/1TzAqo4CNvehm1L4ORhCAiGITdA+l0wcBoEBMKxr+HL52DvhxAQApnfhAnfNZJ7V1BbARX7je3xKvbTeGIf9tK9BFcfxaodANi1lX8m/oQ5D/wIo6qDEF2XJPBL0Frz+Yq3yM55ApRiZ+RkzkQOwBkziIDeQ4jsM5C+0WHERQYRFGBt07VdLk3lmUbKqhsorW6gtKqespoGSqsaqLc7sVkt9NCnGHnqc4ZX/Iu+NTvRKEpixnA0YRYn+l2HJSQSm9VCUICFiOAABveJIDLYBmV7Yf0fjWSvXZB2B1z9A+gzwkeflJc0noHqEvfXcTh1FCoOQPl+dMV+VLMZQo0EUODqzSHdj8P0pT5yAGH9hpI4eCQzRqVitUjyFl2fJPArULB/O9XLHyOhfh/R+nTT8QYdQIHuw0Hdj+KA/lSGJFMXmYKr5yCio2PoExmM3aUpq6qntLrhXLKurqe8phGnSwOaIOwE0UgIjcQEucgOOMRM5xrG6a0EKBc7XUm867yGD5zjOUHMJWNNjAlleL9IhveLJLPHGTKKFhO6/XVUYw1cNR2ueQySroaObJ067VBzwkjKVcXG96ZE7U7WVSXQcPqit9bYenJUxbOjIZa9jj4c0v2oDE6kd+IQMpJ7kpUYTXpCFKGBAR338wjRSUgCbyNdW0Ft8R5qinZhP7EXS+V+QqsOEVlXhJVzC4FKdAwHXX2pI5gQ1UCExU6Y1UGoaiRENRKkG7DpBgKc9Sha+Kyj+sOIOyF9Lq5eqTQ6XTQ6XdgdxvdGh/HV4H5+6kwju0uq2VVcxc7i0xRUnGm6VEpYI98OX82Nte8R5jhJfe9MAic/jiV1Flg8GK9unpjPJuWaE+eScrX78ZkKuOBndKkA6oN7UWWLpULFcFz34Ji9BwfrIzjUEMFxHcMJHU2dJYyhfSPISowmM7EHWYnRJMaESveIEEgC9x5HA1QedvfR7sNZug9n6V6Uq5GAoFCULRRsIe6vUKMP++xjW7D7e4jRdx2dBAljPEqu1fV2d0I/zc7iKnYWV3G0tILbWM0C6woSLWWUWPpSYevdpusqrQl3VdHDVUmU6+IWswsLpyzRnLLGcNLak1MW4/txVxT76yI4UBfBcR1NJRFo92SnqBAbfaOCja8eIfSNNL4nxoSSFh8prWshWiEJvBtpdLjYX1rNrsJK1K73GFTyPoGu+jZfp9YSTqWlJyetMZy0uL+sPTlpiaHKEoVLXTweEBYUQN+okHOJOiqEvj2Mx5KghWgfSeBCCOGnWkvg3W4hjxBCdBWSwIUQwk9JAhdCCD8lCVwIIfyUJHAhhPBTksCFEMJPSQIXQgg/JQlcCCH8VIcu5FFKlQFH2vn2XkC5F8PxV/I5nCOfhUE+B0NX/hyStNaxFx7s0ATuCaVUTksrkbob+RzOkc/CIJ+DoTt+DtKFIoQQfkoSuBBC+Cl/SuALzQ6gk5DP4Rz5LAzyORi63efgN33gQgghzudPLXAhhBDNSAIXQgg/5RcJXCl1vVJqr1LqgFLqJ2bHYxalVIFSartSKl8p1W12xlBK/UMpVaqU2tHsWIxS6lOl1H7392gzY+wIrXwOTymlity/E/lKqRvNjLEjKKX6K6VWKaV2KaV2KqV+4D7e7X4nOn0CV0pZgT8DNwDDgHlKqWHmRmWqa7XWGd1svusrwPUXHPsJ8LnWehDwuft5V/cKF38OAP/r/p3I0Fp/1MExmcEBPKG1HgaMA77jzgnd7nei0ydwYAxwQGt9SGvdCLwF3GpyTKIDaa3XApUXHL4VeNX9+FXgto6MyQytfA7djta6RGud535cDewG4umGvxP+kMDjgWPNnhe6j3VHGliplMpVSi0wOxiT9dZal7gfHwd6mxmMyb6rlNrm7mLp8t0GzSmlkoFM4Cu64e+EPyRwcc41WussjO6k7yilJpkdUGegjbmw3XU+7F+BgUAGUAL8j6nRdCClVDiwDPh3rXVV89e6y++EPyTwIqB/s+cJ7mPdjta6yP29FHgXo3upuzqhlOoL4P5eanI8ptBan9BaO7XWLuBFusnvhFLKhpG8F2mtl7sPd7vfCX9I4JuBQUqpFKVUIHA38L7JMXU4pVSYUiri7GPgOmDHpd/Vpb0P3Od+fB/wnomxmOZswnK7nW7wO6GUUsBLwG6t9bPNXup2vxN+sRLTPTXqOcAK/ENr/StzI+p4SqkBGK1ugADgze7yOSilFgNTMMqFngB+AfwTeBtIxChRPFdr3aUH+Fr5HKZgdJ9ooAB4pFk/cJeklLoGWAdsB1zuwz/F6AfvXr8T/pDAhRBCXMwfulCEEEK0QBK4EEL4KUngQgjhpySBCyGEn5IELoQQfkoSuBBC+ClJ4KLbUUpNUUpNaMf7CpRSvdrxvp+29T1CXAlJ4MKvKaUC2vG2KUCbE7gHJIELn2jPL78QHUopdS/wQ4zVhtsAJ1CPUYVuvVLqzxg142OBM8DDWus9SqmbgZ8BgUAFMB8IAR4FnEqpbwLfA/YAL2Cs4AOjONJ6pVRPYDFG9cuNgLpMnP/EqNsTDPyf1nqhUuq3QIhSKh/YqbWe7/knIoRBVmKKTk0pNRyjhMAErXW5UioGeBZjOfmtWmunUupz4FGt9X6l1FjgN1rrqe7Sqqe01lop9RAwVGv9hFLqKaBGa/2M+x5vAn/RWn+plEoE/qW1HqqU+iNQrrX+f0qpm4AVQKzWuryVWGO01pVKqRCMGj6TtdYVSqkarXW4Lz8n0T1JC1x0dlOBd84mTXeCxH3M6S4pOgF4x30cIMj9PQFY4i74FAgcbuUe04Fhzd4f6b7uJOAO930/VEqdvEys31dK3e5+3B8YhNHyF8InJIELf1Xr/m7BaGVntHDOn4BntdbvK6WmAE+1ci0LME5rXd/8YLOEflnu608HxmutzyilVmN0pQjhMzKIKTq7L4A73f3RuLtQmrgL+R9WSt3pfl0ppUa6X47iXO34+5q9rRqIaPZ8JUZfOO5rZLgfrgW+4T52A3Cp3W6igJPu5J2KsVfjWXZ3/WohvEoSuOjUtNY7gV8Ba5RSWzH6vy80H3jQ/fpOzu2Z+hRG10ou0Lzf+gPgdvcu7hOB7wPZ7m3JdmEMcgL8NzBJKbUToyvl6CVC/QQIUErtBn4LbGr22kJgm1Jq0ZX+3EJcCRnEFEIIPyUtcCGE8FMyiClEG7j74j9v4aVpWmuZcSI6lHShCCGEn5IuFCGE8FOSwIUQwk9JAhdCCD8lCVwIIfzU/wdO1LWfcblAXAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level=0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "impossible-native",
   "metadata": {},
   "outputs": [],
   "source": [
    "#结论：周末的下午和晚上，比非周末访问量多一些"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "stuck-footage",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
